Linux / 명령어
리눅스에서 자주 사용하는 명령어를 파일 관리, 텍스트 처리, 사용자와 권한, 프로세스, 시스템, 디스크, 네트워크와 패키지 관리처럼 실제 작업 기준으로 정리했습니다. 명령어의 기본 용도를 빠르게 찾고, 링크가 있는 명령어는 이름을 눌러 자세한 사용법과 예제를 확인할 수 있습니다.
같은 명령어라도 배포판과 설치된 패키지에 따라 지원 옵션이 다를 수 있습니다. 실제 시스템에서는 man 명령어 또는 명령어 --help로 현재 환경의 설명을 함께 확인하는 것이 좋습니다.
리눅스 명령어 찾는 방법
명령어의 정확한 문법이나 실행 위치를 모를 때는 다음 명령부터 활용해 보세요.
man ls ls --help type cd command -v python
도움말과 셸 환경 명령어
| 명령어 | 개요 |
|---|---|
man |
명령어, 설정 파일과 시스템 호출의 매뉴얼 페이지를 확인합니다. |
info |
GNU 프로그램의 상세한 Info 문서를 읽습니다. |
help |
cd, read 같은 Bash 내장 명령어의 도움말을 표시합니다. |
apropos |
매뉴얼 설명에서 키워드를 검색하여 관련 명령어를 찾습니다. |
whatis |
명령어가 어떤 기능을 하는지 매뉴얼의 짧은 설명을 보여 줍니다. |
type |
이름이 별칭, 함수, 셸 내장 명령어 또는 실행 파일 중 무엇인지 확인합니다. |
command |
셸 함수와 같은 이름 충돌을 피하여 명령을 실행하거나 -v로 실행 위치를 확인합니다. |
history |
현재 셸에서 이전에 실행한 명령어 기록을 확인하거나 다시 실행할 때 사용합니다. |
alias |
자주 사용하는 긴 명령어에 짧은 별칭을 지정합니다. |
unalias |
현재 셸에 설정된 명령어 별칭을 제거합니다. |
clear |
터미널 화면을 정리합니다. |
watch |
지정한 명령을 일정 간격으로 반복 실행하여 결과 변화를 확인합니다. |
time |
명령의 실제 실행 시간과 CPU 사용 시간을 측정합니다. |
env |
환경 변수를 표시하거나 임시 환경 변수를 지정하여 명령을 실행합니다. |
printenv |
전체 환경 변수 또는 지정한 환경 변수의 값을 출력합니다. |
경로 이동과 파일 정보 명령어
| 명령어 | 개요 |
|---|---|
pwd |
현재 작업 중인 디렉터리의 절대 경로를 출력합니다. |
ls |
파일과 디렉터리 목록, 권한, 소유자와 크기 등을 확인합니다. |
cd |
현재 작업 디렉터리를 다른 경로로 변경합니다. |
tree |
디렉터리와 파일 구조를 트리 형태로 표시합니다. 별도 설치가 필요할 수 있습니다. |
file |
확장자 대신 파일 내용을 검사하여 파일 형식을 추정합니다. |
stat |
파일 크기, 권한, inode와 접근·수정 시간을 자세히 표시합니다. |
basename |
전체 경로에서 마지막 파일명 또는 디렉터리 이름만 추출합니다. |
dirname |
전체 경로에서 마지막 구성 요소를 제외한 디렉터리 경로를 추출합니다. |
realpath |
상대 경로와 심볼릭 링크를 해석한 절대 경로를 출력합니다. |
readlink |
심볼릭 링크가 가리키는 대상 경로를 확인합니다. |
파일과 디렉터리 관리 명령어
| 명령어 | 개요 |
|---|---|
touch |
빈 파일을 만들거나 기존 파일의 접근·수정 시간을 변경합니다. |
mkdir |
새 디렉터리를 만듭니다. |
rmdir |
비어 있는 디렉터리를 삭제합니다. |
cp |
파일이나 디렉터리를 다른 위치로 복사합니다. |
mv |
파일과 디렉터리를 이동하거나 이름을 변경합니다. |
rm |
파일이나 디렉터리를 삭제합니다. 삭제 결과는 휴지통으로 이동하지 않으므로 대상을 주의해서 확인해야 합니다. |
ln |
파일의 하드 링크 또는 심볼릭 링크를 만듭니다. |
install |
파일을 복사하면서 소유자, 권한과 대상 디렉터리를 함께 설정합니다. |
shred |
파일 내용을 여러 번 덮어쓴 뒤 삭제할 수 있지만 저장 장치 종류와 파일 시스템에 따라 효과가 제한될 수 있습니다. |
mktemp |
이름 충돌을 피한 임시 파일이나 임시 디렉터리를 안전하게 만듭니다. |
truncate |
파일을 지정한 크기로 줄이거나 늘립니다. |
dd |
블록 단위로 데이터를 복사하거나 변환합니다. 대상 장치를 잘못 지정하면 데이터가 손실될 수 있습니다. |
파일 내용 확인과 검색 명령어
| 명령어 | 개요 |
|---|---|
cat |
파일 내용을 출력하거나 여러 파일을 이어 붙입니다. |
tac |
파일의 마지막 줄부터 역순으로 출력합니다. |
less |
긴 파일을 위아래로 이동하고 검색하면서 페이지 단위로 읽습니다. |
more |
파일 내용을 한 화면씩 순서대로 확인합니다. |
head |
파일이나 명령 출력의 앞부분을 확인합니다. |
tail |
파일의 마지막 부분을 출력하며, -f 옵션으로 로그 변화를 계속 확인할 수 있습니다. |
grep |
파일이나 명령 출력에서 문자열 또는 정규 표현식과 일치하는 행을 찾습니다. |
find |
지정한 경로에서 이름, 형식, 크기, 권한과 수정 시간 등의 조건으로 파일을 검색합니다. |
locate |
미리 생성한 파일 데이터베이스를 검색하여 경로를 빠르게 찾습니다. |
which |
PATH에서 실행될 프로그램의 경로를 찾습니다. 별칭이나 셸 함수 확인에는 type이 더 적합합니다. |
whereis |
명령의 실행 파일, 소스와 매뉴얼 페이지 위치를 검색합니다. |
diff |
두 파일 또는 디렉터리의 차이를 행 단위로 비교합니다. |
cmp |
두 파일을 바이트 단위로 비교하여 처음 다른 위치를 찾습니다. |
텍스트 처리 명령어
| 명령어 | 개요 |
|---|---|
wc |
파일이나 입력의 행, 단어, 문자와 바이트 수를 계산합니다. |
sort |
텍스트 행을 문자, 숫자 또는 지정한 열을 기준으로 정렬합니다. |
uniq |
서로 인접한 중복 행을 제거하거나 중복 횟수를 계산합니다. |
cut |
각 행에서 지정한 문자 범위나 구분자로 나눈 필드를 추출합니다. |
paste |
여러 파일의 대응하는 행을 가로 방향으로 결합합니다. |
join |
공통 필드를 기준으로 정렬된 두 텍스트 파일의 행을 결합합니다. |
comm |
정렬된 두 파일을 비교하여 공통 행과 각 파일에만 있는 행을 구분합니다. |
tr |
입력의 문자를 다른 문자로 치환하거나 반복 문자와 특정 문자를 제거합니다. |
tee |
입력을 화면에 출력하면서 동시에 파일에도 저장합니다. |
xargs |
표준 입력으로 받은 항목을 다른 명령의 인수로 변환하여 실행합니다. |
sed |
텍스트 스트림에서 검색, 치환, 삭제와 행 선택 작업을 수행합니다. |
awk |
텍스트를 필드 단위로 분석하고 조건에 따라 계산하거나 출력합니다. |
column |
구분된 텍스트를 읽기 쉬운 열 형태로 정렬합니다. |
split |
큰 파일을 크기나 행 수를 기준으로 여러 파일로 나눕니다. |
csplit |
행 번호나 패턴이 나타나는 위치를 기준으로 파일을 나눕니다. |
fmt |
일반 텍스트 문단의 줄 길이를 읽기 좋게 다시 맞춥니다. |
fold |
긴 입력 행을 지정한 너비에 맞춰 여러 줄로 나눕니다. |
printf |
지정한 형식에 맞춰 문자열과 숫자를 출력합니다. |
사용자와 권한 명령어
| 명령어 | 개요 |
|---|---|
whoami |
현재 명령을 실행하는 사용자의 이름을 출력합니다. |
id |
사용자 ID, 기본 그룹과 추가 그룹 정보를 확인합니다. |
who |
현재 시스템에 로그인한 사용자와 로그인 터미널을 표시합니다. |
w |
로그인한 사용자, 실행 중인 작업과 시스템 부하를 함께 보여 줍니다. |
last |
로그인과 로그아웃 기록을 확인합니다. |
groups |
현재 사용자 또는 지정한 사용자가 속한 그룹을 출력합니다. |
passwd |
사용자 비밀번호를 변경하거나 관리합니다. |
sudo |
허용된 사용자가 다른 사용자, 일반적으로 root 권한으로 명령을 실행하게 합니다. |
su |
현재 셸을 다른 사용자 계정으로 전환합니다. |
chmod |
파일과 디렉터리의 읽기, 쓰기와 실행 권한을 변경합니다. |
chown |
파일과 디렉터리의 소유자 또는 소유 그룹을 변경합니다. |
chgrp |
파일과 디렉터리의 소유 그룹을 변경합니다. |
umask |
새 파일과 디렉터리에 적용될 기본 권한 제한 값을 확인하거나 설정합니다. |
getent |
사용자, 그룹, 호스트 등 Name Service Switch 데이터베이스의 항목을 조회합니다. |
프로세스와 터미널 세션 명령어
| 명령어 | 개요 |
|---|---|
ps |
현재 실행 중인 프로세스의 ID, 사용자, 상태와 실행 명령을 확인합니다. |
top |
프로세스별 CPU와 메모리 사용량을 실시간으로 확인합니다. |
htop |
프로세스를 대화형 화면으로 확인하고 관리합니다. 별도 설치가 필요할 수 있습니다. |
pgrep |
프로세스 이름과 조건으로 프로세스 ID를 검색합니다. |
pkill |
이름이나 조건과 일치하는 프로세스에 시그널을 보냅니다. |
kill |
프로세스 ID를 지정하여 종료 요청 등의 시그널을 보냅니다. |
killall |
지정한 이름과 일치하는 프로세스에 시그널을 보냅니다. |
jobs |
현재 셸에서 실행한 백그라운드와 중지 상태의 작업을 확인합니다. |
bg |
중지된 셸 작업을 백그라운드에서 계속 실행합니다. |
fg |
백그라운드 또는 중지된 셸 작업을 포그라운드로 가져옵니다. |
nohup |
터미널이 닫힌 뒤에도 명령이 종료되지 않도록 hangup 시그널을 무시하게 실행합니다. |
nice |
새 프로세스의 CPU 스케줄링 우선순위를 조정하여 실행합니다. |
renice |
실행 중인 프로세스의 CPU 스케줄링 우선순위를 변경합니다. |
screen |
하나의 터미널에서 여러 가상 세션을 만들고 분리·재접속합니다. |
tmux |
여러 셸 창과 패널을 관리하고 세션을 분리·재접속하는 터미널 멀티플렉서입니다. |
시스템 정보와 서비스 명령어
| 명령어 | 개요 |
|---|---|
uptime |
시스템 실행 시간, 로그인 사용자 수와 평균 부하를 확인합니다. |
free |
물리 메모리와 스왑 영역의 전체 용량과 사용 현황을 확인합니다. |
uname |
현재 실행 중인 커널 릴리스와 하드웨어 아키텍처 등의 정보를 출력합니다. |
hostnamectl |
systemd 환경에서 호스트 이름, 배포판, 커널과 아키텍처 정보를 확인하거나 호스트 이름을 설정합니다. |
date |
현재 날짜와 시간을 표시하거나 형식을 지정하여 출력합니다. |
timedatectl |
systemd 환경에서 시간, 시간대와 네트워크 시간 동기화 상태를 관리합니다. |
lscpu |
CPU 아키텍처, 코어, 스레드와 가상화 정보를 표시합니다. |
lsmod |
현재 커널에 로드된 모듈 목록과 사용 상태를 확인합니다. |
modinfo |
커널 모듈의 파일 위치, 설명, 버전과 매개변수를 확인합니다. |
dmesg |
커널 링 버퍼의 부팅, 하드웨어와 드라이버 메시지를 확인합니다. |
systemctl |
systemd 서비스와 기타 유닛의 상태를 확인하고 시작·중지·활성화합니다. |
journalctl |
systemd 저널에 저장된 시스템과 서비스 로그를 조회합니다. |
reboot |
시스템을 안전하게 다시 시작합니다. 실행 중인 작업과 다른 사용자를 먼저 확인해야 합니다. |
shutdown |
시스템 종료나 재시작을 즉시 또는 지정한 시각에 예약합니다. |
디스크와 파일 시스템 명령어
| 명령어 | 개요 |
|---|---|
df |
마운트된 파일 시스템별 전체 용량과 사용 가능한 공간을 확인합니다. |
du |
파일과 디렉터리가 차지하는 디스크 사용량을 계산합니다. |
lsblk |
디스크, 파티션과 논리 볼륨의 계층 구조와 마운트 지점을 확인합니다. |
blkid |
블록 장치의 UUID, 파일 시스템 형식과 레이블을 조회합니다. |
mount |
파일 시스템을 지정한 디렉터리에 연결하거나 현재 마운트 상태를 확인합니다. |
umount |
마운트된 파일 시스템을 안전하게 분리합니다. |
fdisk |
주로 MBR과 GPT 디스크의 파티션 표를 확인하거나 편집합니다. 변경 전에 대상 디스크를 확인해야 합니다. |
parted |
다양한 파티션 표의 파티션을 만들고 크기와 위치를 관리합니다. |
mkfs |
파티션이나 장치에 새 파일 시스템을 만듭니다. 기존 데이터가 손실될 수 있습니다. |
fsck |
파일 시스템의 오류를 검사하고 필요한 경우 복구합니다. 대상 파일 시스템의 상태를 먼저 확인해야 합니다. |
sync |
메모리에 남아 있는 파일 시스템 쓰기 데이터를 저장 장치에 반영하도록 요청합니다. |
네트워크 명령어
| 명령어 | 개요 |
|---|---|
ip |
네트워크 인터페이스, IP 주소, 라우팅과 이웃 테이블을 확인하거나 설정합니다. |
ss |
TCP·UDP 소켓, 수신 포트와 연결 상태를 확인합니다. |
ping |
ICMP 패킷을 보내 대상 호스트의 응답 여부와 왕복 시간을 확인합니다. |
tracepath |
목적지까지의 네트워크 경로와 경로 최대 전송 단위를 조사합니다. |
traceroute |
목적지까지 패킷이 통과하는 라우터 경로를 추적합니다. |
dig |
DNS 서버에 레코드를 질의하고 응답을 자세히 확인합니다. |
host |
도메인 이름과 IP 주소의 DNS 정보를 간단히 조회합니다. |
nslookup |
DNS 서버에 도메인 또는 IP 주소 정보를 질의합니다. |
curl |
URL을 통해 HTTP 등 다양한 프로토콜로 데이터를 요청하거나 전송합니다. |
wget |
웹과 FTP 주소에서 파일을 내려받고 재귀 다운로드를 수행합니다. |
nc |
Netcat으로 TCP·UDP 연결, 포트 점검과 간단한 데이터 전송을 수행합니다. |
nmap |
허가된 대상의 호스트와 열린 포트, 서비스 정보를 조사합니다. |
ethtool |
이더넷 인터페이스의 링크 속도, 드라이버와 기능 설정을 확인합니다. |
resolvectl |
systemd-resolved 환경에서 DNS 설정과 조회 상태를 확인합니다. |
원격 접속과 파일 전송 명령어
| 명령어 | 개요 |
|---|---|
ssh |
암호화된 SSH 연결로 원격 시스템에 로그인하거나 원격 명령을 실행합니다. |
scp |
SSH 연결을 이용하여 로컬과 원격 시스템 사이에서 파일을 복사합니다. |
sftp |
SSH 기반의 대화형 파일 전송 세션을 사용합니다. |
rsync |
변경된 파일을 중심으로 로컬 또는 원격 디렉터리를 효율적으로 동기화합니다. |
ssh-keygen |
SSH 공개키와 개인키 쌍을 만들고 키 지문을 관리합니다. |
ssh-copy-id |
공개키를 원격 계정의 인증 키 목록에 추가합니다. |
압축과 아카이브 명령어
| 명령어 | 개요 |
|---|---|
tar |
여러 파일과 디렉터리를 하나의 아카이브로 묶거나 풀고, 압축 도구와 함께 사용합니다. |
gzip |
파일을 gzip 형식으로 압축합니다. |
gunzip |
gzip으로 압축된 파일을 해제합니다. |
bzip2 |
파일을 bzip2 형식으로 압축합니다. |
bunzip2 |
bzip2로 압축된 파일을 해제합니다. |
xz |
파일을 xz 형식으로 압축합니다. |
unxz |
xz로 압축된 파일을 해제합니다. |
zip |
파일과 디렉터리를 ZIP 형식으로 압축합니다. |
unzip |
ZIP 아카이브의 목록을 확인하거나 압축을 해제합니다. |
패키지 관리 명령어
패키지 관리 명령은 배포판에 따라 다릅니다. 현재 배포판은 cat /etc/os-release로 확인한 뒤 알맞은 도구를 사용해야 합니다.
| 명령어 | 개요 |
|---|---|
apt |
Debian·Ubuntu 계열에서 패키지 검색, 설치, 제거와 업그레이드에 사용하는 사용자용 명령입니다. |
apt-get |
Debian·Ubuntu 계열에서 스크립트와 세밀한 패키지 작업에 널리 사용하는 APT 명령입니다. |
dpkg |
Debian 계열에서 로컬 DEB 패키지 설치와 패키지 데이터베이스 조회를 수행합니다. |
dnf |
Fedora·RHEL·Rocky Linux·AlmaLinux 계열에서 패키지와 저장소를 관리합니다. |
rpm |
RPM 패키지 파일과 설치된 패키지 데이터베이스를 조회하거나 관리합니다. |
zypper |
openSUSE와 SUSE Linux Enterprise에서 패키지와 저장소를 관리합니다. |
pacman |
Arch Linux 계열에서 패키지를 설치, 제거하고 시스템을 업데이트합니다. |
apk |
Alpine Linux에서 패키지를 검색, 설치, 제거하고 저장소 정보를 갱신합니다. |
명령어를 사용할 때 확인할 점
rm,dd,mkfs,fdisk처럼 데이터를 변경하거나 삭제하는 명령은 대상 경로와 장치를 먼저 확인합니다.sudo는 필요한 명령에만 사용하고, 이해하지 못한 명령을 관리자 권한으로 그대로 실행하지 않습니다.- 인터넷에서 찾은 옵션이 현재 시스템에도 있는지
man과--help로 확인합니다. - 배포판, 프로그램 버전과 설치된 패키지에 따라 명령어 또는 옵션이 없을 수 있습니다.
공식 문서 참고
이 목록은 명령어를 빠르게 찾기 위한 출발점입니다. 실제 작업에서는 각 명령어의 기본 문법, 자주 쓰는 옵션, 실행 예제와 주의점을 함께 확인한 뒤 사용하는 것이 안전합니다.









