Linuxチートシート

Linux必須コマンドをカテゴリ別に整理したチートシートです。

139개 명령어

파일 & 디렉토리

コマンド説明
ls
현재 디렉토리 파일 목록
ls -la
숨김 파일 포함 상세 목록 (권한, 크기, 날짜)
ls -lh
파일 크기를 읽기 쉽게 표시 (KB, MB)
ls -lt
수정일 기준 최신 파일 먼저 정렬
cd <dir>
디렉토리 이동
cd ~
홈 디렉토리로 이동
cd -
이전 디렉토리로 이동
pwd
현재 디렉토리 절대 경로 출력
mkdir <dir>
디렉토리 생성
mkdir -p a/b/c
중첩 디렉토리 한 번에 생성
cp <src> <dest>
파일 복사
cp -r <src> <dest>
디렉토리 재귀 복사
cp -i <src> <dest>
덮어쓰기 전 확인
mv <src> <dest>
파일/디렉토리 이동 또는 이름 변경
rm <file>
파일 삭제
rm -rf <dir>
디렉토리 강제 재귀 삭제 (주의!)
touch <file>
빈 파일 생성 또는 타임스탬프 갱신
ln -s <target> <link>
심볼릭 링크 생성
readlink -f <link>
심볼릭 링크의 실제 경로
tree
디렉토리 트리 구조 출력
tree -L 2
깊이 2까지 트리 출력

파일 내용 보기

コマンド説明
cat <file>
파일 전체 내용 출력
cat -n <file>
줄 번호 포함 출력
head -n 20 <file>
파일 처음 20줄 출력
tail -n 20 <file>
파일 마지막 20줄 출력
tail -f <file>
파일 실시간 모니터링 (로그 확인)
tail -f -n 100 <file>
마지막 100줄부터 실시간 모니터링
less <file>
파일 내용 페이지 단위로 보기 (q로 종료)
wc -l <file>
파일 줄 수 세기
wc -w <file>
파일 단어 수 세기
diff <file1> <file2>
두 파일 차이점 비교
diff -u <file1> <file2>
unified 형식으로 비교 (git diff 스타일)

검색

コマンド説明
find . -name "*.txt"
파일 이름으로 검색
find . -name "*.log" -delete
검색된 파일 삭제
find . -type d -name "src"
디렉토리만 검색
find . -type f -size +100M
100MB 이상 파일 검색
find . -mtime -7
최근 7일 내 수정된 파일
find . -perm 777
특정 권한의 파일 검색
grep "pattern" <file>
파일에서 문자열 검색
grep -r "pattern" <dir>
디렉토리 재귀 검색
grep -rn "pattern" <dir>
재귀 검색 + 줄 번호
grep -i "pattern" <file>
대소문자 무시 검색
grep -v "pattern" <file>
패턴을 포함하지 않는 줄
grep -c "pattern" <file>
매칭된 줄 수 출력
grep -l "pattern" *.txt
패턴이 포함된 파일 이름만 출력
which <command>
명령어의 실행 파일 경로 찾기
whereis <command>
명령어의 바이너리, 소스, 매뉴얼 위치
locate <file>
파일 빠르게 검색 (DB 기반, updatedb 필요)

권한 & 소유권

コマンド説明
chmod 755 <file>
권한 설정: rwxr-xr-x (소유자 전체, 그룹/기타 읽기+실행)
chmod 644 <file>
권한 설정: rw-r--r-- (소유자 읽기+쓰기, 그룹/기타 읽기)
chmod 700 <file>
권한 설정: rwx------ (소유자만 전체 권한)
chmod +x <file>
모든 사용자에게 실행 권한 추가
chmod u+x <file>
소유자에게만 실행 권한 추가
chmod -R 755 <dir>
디렉토리 재귀 권한 설정
chown user:group <file>
파일 소유자:그룹 변경
chown -R user:group <dir>
디렉토리 재귀 소유자 변경
chgrp <group> <file>
파일 그룹만 변경
umask 022
새 파일의 기본 권한 마스크 설정

프로세스 관리

コマンド説明
ps aux
모든 프로세스 상세 목록
ps aux | grep <name>
특정 프로세스 이름으로 검색
top
실시간 프로세스 모니터링 (q로 종료)
htop
향상된 프로세스 모니터링 (색상, 그래프)
kill <pid>
프로세스에 SIGTERM 전송 (정상 종료)
kill -9 <pid>
프로세스에 SIGKILL 전송 (강제 종료)
killall <name>
이름으로 프로세스 모두 종료
pkill -f "pattern"
명령행 패턴으로 프로세스 종료
pgrep -f "pattern"
명령행 패턴으로 PID 검색
nohup <command> &
로그아웃 후에도 백그라운드 실행
jobs
현재 셸의 백그라운드 작업 목록
fg %1
백그라운드 작업을 포그라운드로 전환
bg %1
정지된 작업을 백그라운드에서 실행
lsof -i :8080
포트 8080을 사용하는 프로세스 확인

네트워크

コマンド説明
curl <url>
URL에 GET 요청
curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' <url>
JSON POST 요청
curl -o file <url>
파일 다운로드 (이름 지정)
curl -I <url>
응답 헤더만 확인
wget <url>
파일 다운로드
wget -r -np <url>
웹사이트 재귀 다운로드
ping <host>
호스트 연결 확인 (ICMP)
ping -c 5 <host>
5회만 핑 전송
ip addr
네트워크 인터페이스 IP 확인
ss -tulpn
열린 포트와 프로세스 확인
netstat -tulpn
열린 포트 확인 (레거시)
nslookup <domain>
DNS 조회
dig <domain>
상세 DNS 조회
ssh user@host
SSH 원격 접속
ssh -p 2222 user@host
포트 지정 SSH 접속
scp file user@host:/path
SSH로 파일 전송 (로컬→원격)
scp user@host:/path file
SSH로 파일 전송 (원격→로컬)
rsync -avz <src> <dest>
효율적인 파일 동기화 (차이분만)

압축 & 아카이브

コマンド説明
tar -czf archive.tar.gz <dir>
tar.gz 압축 생성
tar -xzf archive.tar.gz
tar.gz 압축 해제
tar -xzf archive.tar.gz -C <dir>
지정 디렉토리에 압축 해제
tar -tzf archive.tar.gz
압축 내용 미리 보기 (해제 안함)
tar -cjf archive.tar.bz2 <dir>
tar.bz2 압축 생성 (더 높은 압축률)
zip -r archive.zip <dir>
zip 압축 생성
unzip archive.zip
zip 압축 해제
unzip -l archive.zip
zip 내용 미리 보기
gzip <file>
파일 gzip 압축 (원본 삭제)
gunzip <file>.gz
gzip 압축 해제
zcat <file>.gz
gzip 파일 내용 출력 (해제 안함)

디스크 & 시스템

コマンド説明
df -h
마운트된 파일시스템 디스크 사용량
du -sh <dir>
디렉토리 전체 크기 확인
du -sh * | sort -hr
현재 디렉토리 항목별 크기 정렬
du -sh * | sort -hr | head -10
가장 큰 10개 항목
free -h
메모리 사용량 (RAM + Swap)
uname -a
커널/OS 전체 정보
cat /etc/os-release
Linux 배포판 정보
uptime
시스템 가동 시간 및 부하
whoami
현재 로그인 사용자 이름
id
현재 사용자의 UID, GID, 그룹 정보
date
현재 날짜/시간 출력
date +"%Y-%m-%d %H:%M:%S"
포맷 지정 날짜 출력
history
명령어 히스토리 (최근 실행 명령어)
history | grep <keyword>
히스토리에서 특정 명령 검색
alias ll="ls -la"
명령어 별칭 설정 (현재 세션)
env
현재 환경 변수 목록
export KEY=VALUE
환경 변수 설정
crontab -e
크론 작업 편집
crontab -l
크론 작업 목록

파이프 & 리다이렉션

コマンド説明
command > file
표준 출력을 파일로 저장 (덮어쓰기)
command >> file
표준 출력을 파일에 추가
command 2> error.log
에러 출력(stderr)만 파일로
command &> all.log
표준 출력 + 에러 출력 모두 파일로
command 2>&1
stderr를 stdout으로 합치기
cmd1 | cmd2
cmd1의 출력을 cmd2의 입력으로 파이프
cmd1 | tee file | cmd2
출력을 파일에 저장하면서 파이프
sort <file>
파일 내용 정렬
sort -r <file>
역순 정렬
sort -n <file>
숫자 기준 정렬
sort file | uniq
정렬 후 중복 행 제거
sort file | uniq -c | sort -rn
빈도수 기준 정렬
awk '{print $1}' file
첫 번째 컬럼만 출력
awk -F: '{print $1}' /etc/passwd
구분자 지정하여 컬럼 출력
sed 's/old/new/g' file
문자열 전체 치환
sed -i 's/old/new/g' file
파일 직접 수정 (in-place)
cut -d: -f1 /etc/passwd
구분자 기준 특정 필드 추출
xargs
표준 입력을 명령어 인자로 변환
find . -name '*.log' | xargs rm
검색 결과를 인자로 삭제

よくある質問

Linuxとは?
Linuxは、世界中のサーバー、デスクトップ、組み込みシステムで使用されているオープンソースのオペレーティングシステムカーネルです。

他のツール