리눅스 명령어 모음
리눅스 기본 명령어 상세 정리
리눅스 및 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로 변경합니다.