본문 바로가기
etc

linux 명령어 모음

by 스르나 2021. 6. 12.

자주 사용되는 linux 명령어 모음

1. ls

현재 파일의 위치에 있는 파일들의 목록을 출력

  • ls -l : 파일들의 상세정보를 출력
  • ls -a: 숨긴파일들 까지 모두 출력
  • ls -F : 파일의 유형까지 모두 출력(/: 디렉토리, *:실행파일, @:링크)
  • ls -t: 파일의 수정시간으로 정렬해서 출력
  • ls -S: 파일의크기로 정렬해서 출력

 

2. cd

디렉토리로 이동

  • cd ~: 현재위치가 어디든 홈디렉토리로 이동
  • cd .. : 상위 디렉토리로 이동
  • cd /경로 : 절대경로로 이동(리눅스의 최상위 디렉토리로부터의 절대경로)
  • cd -: 바로전 위치로 이동

 

3. pwd

현재 위치의 경로를 출력

  • pwd -P: 물리적위치로 출력

 

4. touch

크기가 0인 파일을 만드는 명령어

  • touch filename: filename으로 파일을 생성
  • touch -c filename: filename의 시간을 현재시간으로 변경
  • tourch -t 202106120000: filename의 시간은 YYYYMMDDHHMM으로 변경
  • touch -f filename1 filename2 : fielname2의 시간을 filename1으로 변경

 

5. mkdir

폴더를 생성하는 명령어

  • mkdir dirname: 이름이 dirname인 폴더를 생성
  • mkdir -p dirname/subname: dirname인 폴더와 하위폴더 subname인 폴더까지 생성

 

6. cp

파일을 복사하는 명령어

  • cp file file2: file을 file2로 복사
  • cp -f file file2: 기존에 file2가 존재한다면 지우고 복사
  • cp -R dir dir2: 폴더를 복사할때 사용하며 하위 디록토리까지 복사

 

7. mv

주로 파일의 이동에 사용하며, 파일을 복사할때도 사용할 수 있음

  • mv file file2: file2가 디렉토리일때는 file2로 이동, 존재하지않는다면 이름을 file2로 변경
  • mv -b file -file2: file2가 존재한다면 백업을 한뒤에 file2로 변경/이동
  • mv -f file file2: 백업없이 변경/이동

 

8. rm

주로 파일을 삭제할때 사용

 

  • rm filename: file을 삭제
  • rm -f filename: 묻지도 따지지도 않고 삭제(조심해서 사용할 것!!!)
  • rm -r dirname : 디렉토리를 삭제(디렉토리는 -r옵션으로만 지울 수 있음)

 

9. history

현재까지 사용한 명령어를 한번에 출력

 

 

10. ps

현재 실행중인 프로세스를 출력

  • ps -e: 커널 프로세스를 제외하고 모든 프로세스를 출력
  • ps -f: 풀 포맷으로 출력해준다(UID, PID, PPID)
  • ps -p pid: 특정 pid로 검색해서 출력
  • ps -A: 모든 프로세스를 출력
  • ps -c: 해당 프로세스를 실행한 커맨드까지 출력

 

11. kill

프로세스를 중단시키는 명령어

  • kill pid: pid에 해당하는 프로세스를 중단

 

12. diff

두개의 파일/디렉토리의 차이점을 비교해서 출력(comm,cmp도 비교를 위한 명령어지만 개인적으로 diff가 가장 직관적이라서 이것만 씀)

  • diff file1 file2: file1과 file2의 차이점을 비교해서 출력

 

13. grep

파일에서 특정 문자열을 포함한 라인을 찾을때 사용

  • grep -v str 파일명 :str이 포함되지않는 라인 출력
  • grep -A 숫자 str 파일명: str문자열을 포함하여 아래에 몇줄 더 출력
  • grep -B 숫자 str 파일명: str문자열을 포함하여 위에 몇줄 더 출력
  • grep -l str: 해당 문자열이 들어간 파일명을 출력
  • grep -c str: 해당 문자열이 있는 곳의 줄수를 출력
  • grep -i str: 대소문자를 구분하지 않고 출력
  • grep -n str: 줄수와 내용까지 출력
  • grep -r str: 재귀적으로 하위 폴더까지 검색

 

자주 사용하는 방식

  • grep "^str": str로 시작하는 문자열출력
  • grep "str&": str로 끝나는 문자열 출력
  • grep -r "str"  *: 현재위치의 모든 파일에서 str문자열 탐색
  • grep "str" filename filename2 ...: 여러 파일에서 탐색
  • grep "str\|str2": str, str2를 동시에 탐색

 

14.find

특정 파일/디렉토리를 검색

  • find -name str: str인 파일을 탐색
  • find -name "*.txt": .txt로 끝나는 파일을 탐색
  • find -user username: 파일 소유권자가 username인 파일을 탐색
  • find -type type: 지정한 타입에 해당하는 파일을 탐색(d: 디렉토리, f: 일반파일, l: 링크파일, )
  • find -ls: 파일의 상세정보까지 포함하여 탐색

 

15.curl

리눅스 명령어로 통신을 하는 명령어

  • curl -I url: 헤더 정보를 출력
  • curl -i url: 헤더 정보와 요청결과를 같이 출력
  • curl -o 파일명 url: 요청결과를 파일에 저장
  • curl -O url \ url2: 여러 파일을 동시에 다운로드
  • curl -C -o url: 이어서 다운로드(다운로드 도중 중단시)
  • curl -d json url: post방식으로 json보냄
  • curl -d @파일명 url: post방식으로 파일을 보냄

 

16. tail

파일의 내용을 부분적으로 출력해주는 명령어

 

  • tail -n 100 file : file의 내용의 뒷부분의 100줄을 출력
  • tail -f file : file의 내용이 변경되는 것을 계속해서 출력(실시간 로그 확인)