자주쓰는 Linux/Ubuntu 명령어

Gdainti/Dreamstime.com

최근 서버 관리할 일이 많아서 자주 쓰게 되는 명령어를 정리했습니다.

 

1. 파일 및 디렉토리 관리

  • 디렉토리 생성: mkdir는 새 디렉토리를 만듭니다.
    • <디렉토리명>: 생성할 디렉토리의 이름
mkdir <디렉토리명>
  • 파일 목록 확인: ls는 지정된 디렉토리의 파일 목록을 표시합니다.
    • -l: 상세 정보를 포함하여 파일 목록 표시
    • -a: 숨김 파일도 포함하여 목록 표시
ls -l
  • 파일 복사: cp는 파일이나 디렉토리를 복사합니다.
    • <원본파일>: 복사할 원본 파일의 경로
    • <대상파일>: 복사할 대상 파일 경로 (복사본의 경로)
cp <원본파일> <대상파일>
  • 파일 이동 및 이름 변경: mv는 파일이나 디렉토리를 이동하거나 이름을 변경합니다.
    • <원본파일>: 이동할 또는 이름을 변경할 파일 경로
    • <대상파일>: 이동할 위치 또는 새 파일 이름
mv <원본파일> <대상파일>
  • 파일/폴더 삭제: rm은 파일을 삭제합니다.
    • -rf: 폴더
    • <파일명>: 삭제할 파일 이름 또는 경로
rm <파일명>
rm -rf <폴더명>

 

2. 파일 내용 확인 및 검색

  • 파일 내용 확인: cat은 파일 내용을 화면에 출력합니다.
    • <파일명>: 확인할 파일 이름
cat <파일명>
  • 파일의 특정 단어 검색: grep은 파일에서 지정한 단어를 검색합니다.
    • <단어>: 검색할 문자열 또는 단어
    • <파일명>: 검색할 대상 파일 이름
grep '<단어>' <파일명>
  • 실시간 파일 내용 확인 (로그 모니터링): tail은 파일의 마지막 부분을 표시합니다.
    • -f: 파일에 새로운 내용이 추가될 때마다 업데이트된 내용을 출력
    • <파일명>: 모니터링할 파일 이름
tail -f <파일명>

 

3. 시스템 모니터링 및 프로세스 관리

  • 현재 디스크 사용량 확인: df는 디스크 사용량을 표시합니다.
    • -h: 사람이 읽기 쉬운 형식으로 표시 (예: GB, MB 단위)
df -h
  • 디렉토리별 파일 용량 확인: du는 특정 디렉토리의 크기를 확인합니다.
    • -s: 지정한 디렉토리 크기만 요약하여 표시
    • -h: 사람이 읽기 쉬운 형식으로 표시
    • <디렉토리>: 크기를 확인할 디렉토리 경로
du -sh <디렉토리>
  • 메모리 사용량 확인: free는 시스템의 메모리 사용 상태를 표시합니다.
    • -h: 사람이 읽기 쉬운 형식으로 표시
free -h
  • 프로세스 목록 확인: ps는 실행 중인 프로세스를 표시합니다.
    • a: 다른 사용자의 프로세스도 포함하여 표시
    • u: 프로세스 소유자와 메모리, CPU 사용량 등 자세한 정보 포함
    • x: 터미널에 연결되지 않은 프로세스도 표시
ps aux
  • 특정 프로세스 종료: kill은 지정된 PID의 프로세스를 종료합니다.
    • <PID>: 종료할 프로세스의 ID
kill <PID>

 

4. 네트워크 및 연결 관리

  • IP 주소 확인: ip 명령어는 네트워크 인터페이스에 관한 정보를 표시합니다.
    • a: 모든 네트워크 인터페이스 정보를 표시
ip a
  • 네트워크 상태 검사 (Ping): ping은 서버와의 연결을 확인합니다.
    • <도메인 또는 IP>: 핑을 테스트할 도메인 이름이나 IP 주소
ping <도메인 또는 IP>
  • 포트 열림 확인: netstat은 네트워크 상태와 연결된 포트 정보를 확인합니다.
    • -t: TCP 포트만 표시
    • -u: UDP 포트만 표시
    • -l: 현재 열려 있는 포트만 표시
    • -n: 숫자로 된 주소와 포트 표시
netstat -tuln

 

5. 사용자 및 권한 관리

  • 현재 로그인된 사용자 확인: who는 현재 로그인된 사용자를 표시합니다.
  • who
  • 새 사용자 추가: adduser는 새로운 사용자를 추가합니다.
    • <사용자명>: 추가할 사용자 이름
sudo adduser <사용자명>
  • 파일 권한 변경: chmod는 파일의 권한을 변경합니다.
    • <권한>: 변경할 권한 (예: 755, 644 등)
    • <파일명>: 권한을 변경할 파일 이름
chmod <권한> <파일명>
  • 파일 소유자 변경: chown은 파일의 소유자와 그룹을 변경합니다.
    • <소유자>: 새로운 소유자 이름
    • <그룹>: 새로운 그룹 이름
    • <파일명>: 소유자를 변경할 파일 이름
chown <소유자>:<그룹> <파일명>

 

6. 패키지 관리 (Ubuntu/Debian 기준)

  • 패키지 업데이트 및 업그레이드: apt는 패키지를 설치, 제거, 업데이트하는 패키지 관리 도구입니다.
    • update: 패키지 목록을 업데이트
    • upgrade: 모든 패키지를 최신 버전으로 업그레이드
    • --only-upgrade: 특정 패키지만 업그레이드 할 경우
sudo apt update && sudo apt upgrade
sudo apt upgrade --only-upgrade <패키지명>
  • 패키지 설치: apt install은 지정된 패키지를 설치합니다.
    • <패키지명>: 설치할 패키지의 이름
sudo apt install <패키지명>
  • 패키지 삭제: apt remove는 지정된 패키지를 삭제합니다.
    • <패키지명>: 삭제할 패키지의 이름
sudo apt remove <패키지명>

 

7. 압축 및 파일 아카이브

  • 파일 압축하기 (tar.gz): tar은 파일을 아카이브하고 압축합니다.
    • -c: 새로운 아카이브 생성
    • -z: gzip 압축 사용
    • -v: 처리 과정을 자세히 출력
    • -f: 아카이브 파일 이름 지정
    • <아카이브명.tar.gz>: 생성할 압축 파일 이름
    • <파일/디렉토리>: 압축할 파일 또는 디렉토리
tar -czvf <아카이브명.tar.gz> <파일/디렉토리>
  • 압축 파일 해제하기: tar은 압축된 아카이브를 해제합니다.
    • -x: 아카이브를 추출
    • -z: gzip 압축 해제
    • -v: 처리 과정을 자세히 출력
    • -f: 압축 파일 이름
tar -xzvf <아카이브명.tar.gz>