cat <file> | 파일 내용 표시 |
cat -n <file> | 줄 번호와 함께 표시 |
less <file> | 페이지 단위로 파일 보기 |
more <file> | 파일 보기 (앞으로만) |
head <file> | 처음 10줄 표시 |
head -n 20 <file> | 처음 20줄 표시 |
tail <file> | 마지막 10줄 표시 |
tail -f <file> | 파일 업데이트 팔로우 |
tail -n 50 <file> | 마지막 50줄 표시 |
wc <file> | 줄, 단어, 문자 수 세기 |
wc -l <file> | 줄 수만 세기 |
diff <file1> <file2> | 파일 비교 |
diff -u <f1> <f2> | 통합 diff 형식 |
sort <file> | 줄 정렬 |
sort -r <file> | 역순 정렬 |
sort -n <file> | 숫자로 정렬 |
uniq <file> | 중복 줄 제거 |
uniq -c <file> | 발생 횟수 세기 |
cut -d: -f1 <file> | 구분자로 잘라 필드1 추출 |
cut -c1-10 <file> | 1-10 문자 추출 |
awk '{print $1}' <file> | 첫 번째 열 출력 |
awk -F: '{print $1}' <file> | 구분자로 열 출력 |
sed 's/old/new/g' <file> | 모든 항목 치환 |
sed -i 's/old/new/g' <file> | 파일 직접 수정 |
tr a-z A-Z | 문자 변환 |
xargs <cmd> | stdin에서 명령 생성 |
find . -name "*.txt" | 이름 패턴으로 찾기 |
find . -iname "*.txt" | 대소문자 무시 찾기 |
find . -type f | 파일만 찾기 |
find . -type d | 디렉토리만 찾기 |
find . -mtime -7 | 최근 7일 내 수정된 파일 |
find . -mmin -60 | 최근 60분 내 수정된 파일 |
find . -size +100M | 100MB보다 큰 파일 |
find . -empty | 빈 파일/디렉토리 찾기 |
find . -name "*.log" -delete | 찾아서 삭제 |
find . -exec cmd {} \; | 결과에 명령 실행 |
locate <name> | 인덱스로 찾기 (빠름) |
which <cmd> | 명령어 경로 찾기 |
whereis <cmd> | 바이너리, 소스, 매뉴얼 찾기 |
grep "pattern" <file> | 파일에서 검색 |
grep -r "pattern" <dir> | 재귀적으로 검색 |
grep -i "pattern" <file> | 대소문자 무시 검색 |
grep -n "pattern" <file> | 줄 번호 표시 |
grep -v "pattern" <file> | 일치하지 않는 줄 |
grep -c "pattern" <file> | 일치 수 세기 |
grep -l "pattern" * | 일치하는 파일 목록 |
grep -w "word" <file> | 전체 단어 일치 |
grep -E "regex" <file> | 확장 정규식 |
grep -A 3 "pattern" <file> | 일치 후 3줄 표시 |
grep -B 3 "pattern" <file> | 일치 전 3줄 표시 |
grep -C 3 "pattern" <file> | 앞뒤 3줄 표시 |
chmod 755 <file> | 권한 설정 (rwxr-xr-x) |
chmod 644 <file> | 권한 설정 (rw-r--r--) |
chmod +x <file> | 실행 권한 추가 |
chmod -w <file> | 쓰기 권한 제거 |
chmod u+x <file> | 소유자에게 실행 권한 추가 |
chmod g+w <file> | 그룹에 쓰기 권한 추가 |
chmod o-r <file> | 다른 사용자 읽기 권한 제거 |
chmod -R 755 <dir> | 재귀적 권한 변경 |
chown <user> <file> | 소유자 변경 |
chown <user>:<group> <file> | 소유자 및 그룹 변경 |
chown -R <user> <dir> | 재귀적 소유자 변경 |
chgrp <group> <file> | 그룹 변경 |
umask 022 | 기본 권한 설정 |
whoami | 현재 사용자 이름 |
id | 사용자 및 그룹 ID |
id <user> | 사용자 정보 표시 |
users | 로그인한 사용자 |
who | 누가 로그인했는지 |
w | 누가 무엇을 하는지 |
last | 로그인 기록 |
sudo <cmd> | 슈퍼유저로 실행 |
sudo -u <user> <cmd> | 다른 사용자로 실행 |
su - <user> | 사용자 전환 |
passwd | 비밀번호 변경 |
useradd <user> | 사용자 추가 |
useradd -m -s /bin/bash <user> | 홈과 셸로 사용자 추가 |
userdel -r <user> | 홈과 함께 사용자 삭제 |
usermod -aG <group> <user> | 그룹에 사용자 추가 |
groups <user> | 사용자 그룹 표시 |
ps | 프로세스 목록 |
ps aux | 모든 프로세스 상세 |
ps aux | grep <name> | 이름으로 프로세스 찾기 |
pgrep <name> | 이름으로 PID 찾기 |
top | 대화형 프로세스 뷰어 |
htop | 향상된 프로세스 뷰어 |
kill <pid> | ID로 프로세스 종료 |
kill -9 <pid> | 프로세스 강제 종료 |
killall <name> | 이름으로 종료 |
pkill <pattern> | 패턴으로 종료 |
bg | 백그라운드로 보내기 |
fg | 포그라운드로 가져오기 |
jobs | 백그라운드 작업 목록 |
<cmd> & | 백그라운드에서 실행 |
nohup <cmd> & | 행업에 면역으로 실행 |
nice -n 10 <cmd> | 우선순위와 함께 실행 |
renice -n 10 -p <pid> | 프로세스 우선순위 변경 |
systemctl start <service> | 서비스 시작 |
systemctl stop <service> | 서비스 중지 |
systemctl restart <service> | 서비스 재시작 |
systemctl reload <service> | 설정 리로드 |
systemctl status <service> | 서비스 상태 확인 |
systemctl enable <service> | 부팅 시 활성화 |
systemctl disable <service> | 부팅 시 비활성화 |
systemctl is-active <service> | 실행 중인지 확인 |
systemctl is-enabled <service> | 활성화 여부 확인 |
systemctl list-units --type=service | 모든 서비스 목록 |
systemctl list-unit-files | 유닛 파일 목록 |
systemctl daemon-reload | systemd 리로드 |
systemctl mask <service> | 완전히 비활성화 |
journalctl | 모든 로그 보기 |
journalctl -u <service> | 서비스 로그 |
journalctl -f | 로그 팔로우 |
journalctl -f -u <service> | 서비스 로그 팔로우 |
journalctl --since today | 오늘 로그 |
journalctl --since "1 hour ago" | 최근 1시간 로그 |
journalctl -p err | 에러 로그만 |
journalctl -b | 부팅 이후 로그 |
journalctl -b -1 | 이전 부팅 로그 |
journalctl --disk-usage | 로그 디스크 사용량 |
journalctl --vacuum-size=100M | 로그를 100MB로 줄이기 |
apt update | 패키지 목록 업데이트 |
apt upgrade | 모든 패키지 업그레이드 |
apt install <pkg> | 패키지 설치 |
apt remove <pkg> | 패키지 제거 |
apt purge <pkg> | 설정과 함께 제거 |
apt autoremove | 미사용 패키지 제거 |
apt search <name> | 패키지 검색 |
apt show <pkg> | 패키지 정보 표시 |
apt list --installed | 설치된 패키지 목록 |
dpkg -i <file>.deb | .deb 파일 설치 |
dpkg -l | 설치 목록 (dpkg) |
dnf check-update | 업데이트 확인 |
dnf upgrade | 모든 패키지 업그레이드 |
dnf install <pkg> | 패키지 설치 |
dnf remove <pkg> | 패키지 제거 |
dnf autoremove | 미사용 제거 |
dnf search <name> | 패키지 검색 |
dnf info <pkg> | 패키지 정보 |
dnf list installed | 설치 목록 |
rpm -ivh <file>.rpm | .rpm 파일 설치 |
rpm -qa | 모든 패키지 목록 |
df -h | 디스크 공간 사용량 |
df -i | Inode 사용량 |
du -sh <dir> | 디렉토리 크기 |
du -sh * | 각 항목 크기 |
du -sh * | sort -h | 크기순 정렬 |
lsblk | 블록 장치 목록 |
lsblk -f | 파일시스템과 함께 목록 |
blkid | 블록 장치 UUID 표시 |
fdisk -l | 파티션 목록 |
mount | 마운트된 파일시스템 표시 |
mount /dev/sdb1 /mnt | 장치 마운트 |
mount -o loop file.iso /mnt | ISO 파일 마운트 |
umount /mnt | 마운트 해제 |
umount -l /mnt | 지연 마운트 해제 |
mkfs.ext4 /dev/sdb1 | ext4 파일시스템 생성 |
mkfs.xfs /dev/sdb1 | XFS 파일시스템 생성 |
fsck /dev/sdb1 | 파일시스템 검사 |
/etc/fstab | 영구 마운트 설정 |
tar -cvf archive.tar <dir> | tar 아카이브 생성 |
tar -xvf archive.tar | tar 아카이브 추출 |
tar -czvf archive.tar.gz <dir> | gzip tar 생성 |
tar -xzvf archive.tar.gz | gzip tar 추출 |
tar -cjvf archive.tar.bz2 <dir> | bzip2 tar 생성 |
tar -xjvf archive.tar.bz2 | bzip2 tar 추출 |
tar -tvf archive.tar | tar 내용 목록 |
gzip <file> | gzip 압축 |
gunzip <file>.gz | gzip 압축 해제 |
zip -r archive.zip <dir> | zip 아카이브 생성 |
unzip archive.zip | zip 아카이브 추출 |
unzip -l archive.zip | zip 내용 목록 |
ip addr | IP 주소 표시 |
ip link | 네트워크 인터페이스 표시 |
ip route | 라우팅 테이블 표시 |
ifconfig | 네트워크 인터페이스 (레거시) |
ping <host> | 연결 확인 |
ping -c 4 <host> | 4번 핑 |
traceroute <host> | 패킷 경로 추적 |
netstat -tuln | 리스닝 포트 표시 |
ss -tuln | 리스닝 포트 표시 (최신) |
ss -p | 포트 사용 프로세스 표시 |
host <domain> | DNS 조회 |
nslookup <domain> | DNS 조회 |
dig <domain> | 상세 DNS 조회 |
curl <url> | URL 내용 가져오기 |
curl -O <url> | 파일 다운로드 |
curl -o <name> <url> | 이름으로 다운로드 |
curl -I <url> | 헤더만 가져오기 |
wget <url> | 파일 다운로드 |
wget -c <url> | 다운로드 재개 |
wget -r <url> | 재귀 다운로드 |
scp <file> <user>@<host>:<path> | 원격으로 안전하게 복사 |
scp <user>@<host>:<file> . | 원격에서 복사 |
scp -r <dir> <user>@<host>: | 디렉토리를 원격으로 복사 |
rsync -avz <src> <dst> | 효율적으로 파일 동기화 |
ssh <user>@<host> | SSH 연결 |
ssh -p <port> <user>@<host> | 커스텀 포트로 SSH |
crontab -e | crontab 편집 |
crontab -l | cron 작업 목록 |
crontab -r | 모든 cron 작업 제거 |
* * * * * cmd | 매분 |
0 * * * * cmd | 매시간 |
0 0 * * * cmd | 매일 자정 |
0 0 * * 0 cmd | 매주 일요일 |
0 0 1 * * cmd | 매월 1일 |
*/5 * * * * cmd | 5분마다 |
0 9-17 * * 1-5 cmd | 평일 9-17시 |
# Cron 형식:
# ┌───────────── 분 (0-59)
# │ ┌───────────── 시 (0-23)
# │ │ ┌───────────── 일 (1-31)
# │ │ │ ┌───────────── 월 (1-12)
# │ │ │ │ ┌───────────── 요일 (0-6, 일요일=0)
# │ │ │ │ │
# * * * * * 명령어
# 예제:
0 2 * * * /backup.sh # 매일 오전 2시
*/10 * * * * /check.sh # 10분마다
0 0 * * 0 /weekly.sh # 매주 일요일 uname -a | 시스템 정보 |
uname -r | 커널 버전 |
hostname | 호스트명 표시 |
hostnamectl | 상세 호스트 정보 |
uptime | 시스템 가동 시간 |
date | 현재 날짜/시간 |
timedatectl | 시간 및 타임존 |
cal | 달력 표시 |
free -h | 메모리 사용량 |
lscpu | CPU 정보 |
lsmem | 메모리 정보 |
lspci | PCI 장치 목록 |
lsusb | USB 장치 목록 |
dmesg | 커널 메시지 |
dmesg | tail | 최근 커널 메시지 |
env | 환경 변수 표시 |
printenv | 환경 출력 |
echo $PATH | PATH 변수 표시 |
export VAR=value | 환경 변수 설정 |
unset VAR | 변수 제거 |
source ~/.bashrc | bash 설정 리로드 |
alias ll="ls -la" | 별칭 생성 |
alias | 모든 별칭 목록 |
Ctrl + C | 현재 명령 취소 |
Ctrl + Z | 현재 프로세스 일시 중지 |
Ctrl + D | 셸 종료 / EOF |
Ctrl + L | 화면 지우기 |
Ctrl + R | 명령 히스토리 검색 |
Ctrl + A | 줄 시작으로 이동 |
Ctrl + E | 줄 끝으로 이동 |
Tab | 자동 완성 |
cmd1 | cmd2 | 출력을 다음으로 파이프 |
cmd > file | 출력을 파일로 리다이렉트 |
cmd >> file | 출력을 파일에 추가 |
cmd 2>&1 | stderr를 stdout으로 |
cmd &> file | 모든 출력 리다이렉트 |
!! | 마지막 명령 반복 |
!$ | 이전 명령의 마지막 인자 |
history | 명령 히스토리 표시 |
man <명령어>로 매뉴얼 읽기--help 플래그 사용rm -rf 사용 시 주의echo로 명령 확인alias 사용