웹툴.com

리눅스 명령어 모음

리눅스 기본 명령어 상세 정리

리눅스 및 UNIX 기반 시스템에서 사용하는 핵심적인 명령어들을 자세하게 설명합니다. 각 명령어는 특정 작업을 수행하기 위해 사용되며, 옵션을 통해 그 기능을 확장할 수 있습니다. 이 문서는 기본적인 사용법과 함께 일반적인 예시를 제공하여 리눅스 시스템의 이해를 돕고자 합니다.

1. 디렉토리 및 파일 조작 명령어

ls (List)

  • 설명: 현재 작업 중인 디렉토리의 파일 및 서브 디렉토리 목록을 표시합니다.
  • 사용법: ls [옵션] [디렉토리명]
    • -l: 파일의 상세 정보를 함께 표시합니다.
    • -a: 숨겨진 파일(이름이 .으로 시작하는 파일)을 포함하여 모든 파일을 표시합니다.
    • -h: 파일 크기를 쉽게 읽을 수 있는 형태로 표시합니다.
  • 예시:
    • ls -la: 현재 디렉토리의 모든 파일을 상세 정보와 함께 나열합니다.
    • ls -lh /etc: /etc 디렉토리 내의 파일을 사람이 읽기 쉬운 형태로 표시합니다.

pwd (Print Working Directory)

  • 설명: 현재 작업 중인 디렉토리의 절대 경로를 출력합니다.
  • 사용법: pwd
  • 예시:
    • pwd: 사용자가 현재 위치한 디렉토리의 경로를 출력합니다.

cd (Change Directory)

  • 설명: 사용자의 현재 작업 디렉토리를 변경합니다.
  • 사용법: cd [디렉토리 경로]
    • 상대 경로 또는 절대 경로를 사용할 수 있습니다.
  • 예시:
    • cd /var/log: /var/log 디렉토리로 이동합니다.
    • cd ..: 상위 디렉토리로 이동합니다.

mkdir (Make Directory)

  • 설명: 새로운 디렉토리를 생성합니다.
  • 사용법: mkdir [옵션] [디렉토리명]
    • -p: 필요한 모든 상위 디렉토리를 함께 생성합니다.
  • 예시:
    • mkdir -p newdir/subdir: newdir과 그 안의 subdir 디렉토리를 함께 생성합니다.

rmdir (Remove Directory)

  • 설명: 빈 디렉토리를 삭제합니다. 디렉토리 내에 파일이나 다른 디렉토리가 있으면 삭제되지 않습니다.
  • 사용법: rmdir [디렉토리명]
  • 예시:
    • rmdir unuseddir: unuseddir 디렉토리를 삭제합니다. 단, 디렉토리가 비어 있어야 합니다.

rm (Remove)

  • 설명: 파일이나 디렉토리를 삭제합니다. 디렉토리를 삭제하기 위해서는 -r 옵션이 필요합니다.
  • 사용법: rm [옵션] [파일명 또는 디렉토리명]
    • -r: 디렉토리와 그 안의 모든 내용을 재귀적으로 삭제합니다.
    • -f: 강제로 파일 또는 디렉토리를 삭제합니다. 확인 메시지 없이 바로 삭제합니다.
  • 예시:
    • rm -rf olddir: olddir 디렉토리와 그 안의 모든 파일 및 서브 디렉토리를 강제로 삭제합니다.

touch

  • 설명: 파일의 타임스탬프를 현재 시간으로 갱신하거나, 존재하지 않는 파일을 생성합니다.
  • 사용법: touch [파일명]
  • 예시:
    • touch newfile.txt: newfile.txt 파일을 생성하거나, 이미 존재한다면 수정 시간을 갱신합니다.

cp (Copy)

  • 설명: 파일이나 디렉토리를 복사합니다.
  • 사용법: cp [옵션] [원본] [목적지]
    • -r: 디렉토리를 복사할 때 사용합니다.
    • -p: 파일의 속성(권한, 타임스탬프)을 유지하면서 복사합니다.
  • 예시:
    • cp -rp /etc/skel /etc/newuser: /etc/skel 디렉토리를 /etc/newuser로 복사하면서 모든 속성을 유지합니다.

mv (Move)

  • 설명: 파일이나 디렉토리의 위치를 이동시키거나 이름을 변경합니다.
  • 사용법: mv [원본] [목적지]
  • 예시:
    • mv oldname.txt newname.txt: oldname.txt 파일의 이름을 newname.txt로 변경합니다.
    • mv myfile.txt /home/user/documents/: myfile.txt 파일을 /home/user/documents/ 디렉토리로 이동합니다.

2. 시스템 정보 및 관리 명령어

history

  • 설명: 사용자가 입력한 명령어의 히스토리를 표시합니다.
  • 사용법: history [옵션]
    • -c: 히스토리를 초기화합니다.
  • 예시:
    • history: 사용자가 입력한 명령어 리스트를 출력합니다.

man (Manual)

  • 설명: 명령어의 사용법과 옵션에 대한 설명서(매뉴얼)를 표시합니다.
  • 사용법: man [명령어]
  • 예시:
    • man ls: ls 명령어에 대한 매뉴얼을 출력합니다.

top

  • 설명: 현재 실행 중인 프로세스의 정보를 실시간으로 표시합니다.
  • 사용법: top
  • 예시:
    • top: 시스템에서 실행 중인 프로세스 리스트와 시스템 리소스 사용 상황을 표시합니다.

uname (Unix Name)

  • 설명: 시스템에 대한 정보(커널 이름, 버전 등)를 출력합니다.
  • 사용법: uname [옵션]
    • -a: 모든 정보를 출력합니다.
  • 예시:
    • uname -a: 시스템에 대한 모든 정보를 표시합니다.

who

  • 설명: 현재 로그인한 사용자의 정보를 출력합니다.
  • 사용법: who
  • 예시:
    • who: 현재 로그인한 사용자 목록을 출력합니다.

3. 파일 권한 및 소유권 변경 명령어

chmod (Change Mode)

  • 설명: 파일이나 디렉토리의 접근 권한을 변경합니다.
  • 사용법: chmod [옵션] [권한] [파일명]
    • 권한은 숫자(예: 755) 또는 기호(예: u+x)를 사용하여 지정합니다.
  • 예시:
    • chmod 755 script.sh: script.sh 파일에 대해 소유자는 읽기, 쓰기, 실행 권한을 가지고, 그룹과 다른 사용자는 읽기와 실행 권한만 가집니다.

chown (Change Owner)

  • 설명: 파일이나 디렉토리의 소유자를 변경합니다.
  • 사용법: chown [옵션] [소유자]:[그룹] [파일명]
  • 예시:
    • chown user:group file.txt: file.txt의 소유자를 user로, 그룹을 group으로 변경합니다.

chgrp (Change Group)

  • 설명: 파일이나 디렉토리의 소유 그룹을 변경합니다.
  • 사용법: chgrp [그룹] [파일명]
  • 예시:
    • chgrp staff report.txt: report.txt 파일의 소유 그룹을 staff로 변경합니다.