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로 확인합니다.
  • 배포판, 프로그램 버전과 설치된 패키지에 따라 명령어 또는 옵션이 없을 수 있습니다.

공식 문서 참고

이 목록은 명령어를 빠르게 찾기 위한 출발점입니다. 실제 작업에서는 각 명령어의 기본 문법, 자주 쓰는 옵션, 실행 예제와 주의점을 함께 확인한 뒤 사용하는 것이 안전합니다.

같은 카테고리의 다른 글
Linux / 명령어 / unzip - ZIP 파일 목록 확인과 안전한 압축 해제

Linux / 명령어 / unzip - ZIP 파일 목록 확인과 안전한 압축 해제

Linux unzip 명령어의 용도와 기본 문법을 알아봅니다. 파일 처리 예제, 주요 옵션과 원본 보존·덮어쓰기 주의점을 설명합니다.

Linux / 명령어 / free - 메모리와 스왑 사용량 확인

Linux / 명령어 / free - 메모리와 스왑 사용량 확인

Linux free 명령어의 total, used, free, buff/cache, available과 Swap 항목을 설명합니다. 메모리 부족을 판단할 때 함께 확인할 지표와 주의점도 정리합니다.

Linux / 명령어 / jobs - 현재 셸의 작업 목록 확인

Linux / 명령어 / jobs - 현재 셸의 작업 목록 확인

Linux jobs 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / id - 사용자 ID와 그룹 정보 확인

Linux / 명령어 / id - 사용자 ID와 그룹 정보 확인

Linux id 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / rm - 파일과 디렉터리 삭제

Linux / 명령어 / rm - 파일과 디렉터리 삭제

Linux rm 명령어로 파일과 디렉터리를 삭제하는 방법을 설명합니다. 재귀 삭제, 대화형 확인, 루트 보호 옵션과 복구가 어려운 삭제를 안전하게 다루는 원칙을 정리합니다.

Linux 강좌 / 터미널과 셸 시작하기 - 명령어 구조와 도움말 읽기

Linux 강좌 / 터미널과 셸 시작하기 - 명령어 구조와 도움말 읽기

터미널과 셸의 차이부터 명령어·옵션·인수의 구조, 실행 결과 읽기, Bash 도움말 찾기까지 실습으로 익힙니다.

Linux / 명령어 / nmap - 허가된 호스트의 포트와 서비스 조사

Linux / 명령어 / nmap - 허가된 호스트의 포트와 서비스 조사

Linux nmap 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux 강좌 / 파일과 디렉터리 관리 - 생성·복사·이동·삭제

Linux 강좌 / 파일과 디렉터리 관리 - 생성·복사·이동·삭제

실습 폴더에서 파일과 디렉터리를 만들고 복사·이동·삭제해 봅니다. 덮어쓰기와 삭제 전에 경로와 결과를 확인하는 습관도 익힙니다.

Linux 강좌 / 사용자·그룹과 파일 소유권 이해하기

Linux 강좌 / 사용자·그룹과 파일 소유권 이해하기

UID, GID, 기본·추가 그룹과 파일 소유권의 의미를 설명합니다. id, groups, getent, ls, stat으로 현재 계정과 파일의 소유 정보를 안전하게 확인합니다.

Linux / 명령어 / blkid - 블록 장치 UUID와 파일 시스템 형식 조회

Linux / 명령어 / blkid - 블록 장치 UUID와 파일 시스템 형식 조회

Linux blkid 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.