[linux] 기본적인 명령어 정리

파일 및 디렉토리 관리

ls

현재 디렉토리의 파일 목록 표시.

 

자주 사용하는 옵션

  • -l: 파일 및 디렉토리의 자세한 정보를 표시.
  • -a: 숨겨진 파일 및 디렉토리를 포함하여 모든 파일을 표시.
  • -h: 파일 및 디렉토리의 크기를 읽기 쉬운 형식으로 표시.
  • -t: 수정 시간을 기준으로 파일을 내림차순으로 정렬.

cp [file or directory] [destination]

파일 또는 디렉토리의 복사.

 

자주 사용하는 옵션

  • -r: 디렉토리의 하위 디렉토리와 파일 모두 복사.
  • -f: 목적지에 이미 동일한 이름의 파일이 있더라도 강제로 덮어쓴다. 
  • -n: 목적지에 이미 동일한 이름의 파일이 있을 때만 복사.
  • -i: 복사 작업을 수행하기 전에 사용자에게 확인 메시지를 표시하고, 덮어쓸지 여부를 물어본다.

mv [file or directory] [destination]

파일 또는 디렉토리의 이동 또는 이름 변경.

 

자주 사용하는 옵션

  • -f: 목적지에 이미 동일한 이름의 파일이 있더라도 강제로 덮어쓴다. 
  • -t: 목적지 디렉토리가 없으면 디렉토리를 생성하고 이동.
  • -i: 이동 작업을 수행하기 전에 사용자에게 확인 메시지를 표시하고, 덮어 쓸지 여부를 물어본다.
  • -u: 디렉토리의 전체 이동. 목적지에 이미 동일한 이름의 디렉토리가 있으면 덮어쓰지 않는다.

rm [file or directory]

파일 또는 디렉토리 삭제.

 

자주 사용하는 옵션

  • -r: 디렉토리의 전체 내용을 삭제.
  • -f: 강제로 파일을 삭제.
  • -d: 디렉토리가 비어있을 때만 삭제.
  • -i: 삭제 작업을 수행하기 전에 사용자에게 확인 메시지를 표시하고, 삭제할지 여부를 물어본다.
  • -b: 삭제하기 전에 대상 파일을 백업하고 삭제.

mkdir [directory]

디렉토리 생성.

 

자주 사용하는 옵션

  • -p: 필요한 중간 디렉토리를 모두 생성하며 새 디렉토리를 생성한다.
  • -m: 생성되는 디렉토리의 권한을 지정된 모드로 설정. (ex. mkdir -m 755 directory)

 

텍스트 파일 편집기

nano [file]

간단한 편집기

vi or vim [file]

좀 더 강력한 편집기

 

파일 검색과 표시

find [path] 

파일 및 디렉토리 검색

 

자주 사용하는 옵션

  • -name: 특정 이름의 파일을 찾음. (ex. find /home -name test)
  • -iname: 대소문자를 무시하고 특정 이름의 파일을 찾음. 
  • -type: 파일 유형에 따라 검색. f는 일반 파일, d는 디렉토리, l은 심볼릭 링크 (ex. find /home -type f)
  • -mtime: 특정 시간 이전 또는 이후에 수정된 파일 검색. (ex. find /home -mtime +5 or find /home -mtime -5)
  • -size: 특정 크기 이상 또는 이하의 파일 검색. (ex. find /home -size +100k or find /home -size -100k)

grep [pattern] [file]

파일 내에서 특정 패턴 검색.

 

자주 사용하는 옵션

  • -i: 대소문자를 무시하고 검색.
  • -n: 패턴이 일치한 줄의 번호를 함께 표시.
  • -w: 패턴과 단어의 전체가 일치하는 경우에만 결과를 표시.
  • -v: 패턴이 포함되지 않은 결과 표시.
  • -r: 디렉토리 안의 모든 파일을 검색.

 

권한관리

chmod [permissions] [file]

파일 또는 디렉토리의 권한 변경.

 

자주 사용하는 옵션

  • -R: 디렉토리 안의 모든 파일에 일괄적인 권한 변경.

chown [new_owner:  new_group] [file]

파일 또는 디렉토리의 소유자 & 그룹 변경.

 

자주 사용하는 옵션

  • -R: 디렉토리 안의 모든 파일에 일괄적인 소유자& 그룹 변경.

chgrp [new_group] [file]

파일 또는 디렉토리의 그룹 변경.

 

자주 사용하는 옵션

  • -R: 디렉토리 안의 모든 파일에 일괄적인 그룹 변경.

시스템 정보 확인

uname

시스템 정보 표시

 

자주 사용하는 옵션

  • -o: 운영체제 표시.
  • -r: 커널 릴리즈 정보 표시.
  • -m: 하드웨어 플랫폼 표시.
  • -a: 모든 정보 표시.

df

디스크 사용 정보 표시.

 

자주 사용하는 옵션

  • -h: 사용중인 디스크 공간을 읽기 쉬운 형식으로 표시.
  • -a: 숨겨진 정보를 포함해 모든 파일 시스템의 디스크 사용 정보를 표시.

free

메모리 사용 및 사용 가능한 메모리에 대한 정보 표시.

 

자주 사용하는 옵션

  • -h: 메모리 사용량을 읽기 쉬운 형식으로 표시.
  • -s: 일정 시간마다 메모리 사용량을 특정 간격(초)으로 반복해서 표시. (ex. free -s 5)
  • -c: 일정 횟수만큼 반복해서 메모리 사용량을 표시. (ex. free -c 10)

top

시스템의 실시간 프로세스 및 시스템 상태 정보를 모니터링.

 

자주 사용하는 옵션

  • -o: 프로세스 정렬 기준 변경. (ex. top -o %cpu)
  • -n: 표시할 프로세스 수 제한. (ex. top -n 10)
  • -p: 특정 PID를 가진 프로세스만 표시. (ex. top -p 1020)
  • -u: 특정 사용자의 프로세스만 표시. (ex. top -u user)

프로세스 관리

ps

현재 실행 중인 프로세스 표시

 

자주 사용하는 옵션

  • -e: 시스템 전체에서 실행 중인 모든 프로세스를 표시.
  • -f: 프로세스 간의 부모 - 자식 관계를 포함한 상세 정보를 표시.
  • -p: 특정 PID에 해당하는 프로세스의 정보만 표시. (ex. ps -p 2010)
  • -o: 프로세스의 메모리, CPU 사용량 표시. (ex. ps -o pid,%mem,%cpu)
  • auxf: 실행 중인 프로세스의 트리 구조 표시.

kill [PID]

특정 프로세스 종료.

 

자주 사용하는 옵션

  • -SIGNAL: 특정 프로세스에 특정 종료 신호를 보냄. (ex. kill -9 2010)