Linux 명령어 치트시트 - 자주 쓰는 100가지


개발자와 시스템 관리자가 매일 사용하는 필수 Linux 명령어를 카테고리별로 정리했습니다. 실무에서 바로 활용할 수 있는 예제와 함께 설명합니다.



파일/디렉토리 관리


# 목록 조회
ls -la # 상세 정보 포함
ls -lh # 파일 크기 읽기 쉽게
ls -lt # 수정시간 순 정렬

# 이동/복사/삭제
cd - # 이전 디렉토리
cp -r src dest # 디렉토리 복사
mv old new # 이름 변경/이동
rm -rf dir # 강제 삭제 (주의!)
mkdir -p a/b/c # 중간 디렉토리도 생성

# 찾기
find . -name "*.log" # 이름으로 찾기
find . -type f -size +100M # 100MB 이상 파일
find . -mtime -7 # 7일 내 수정된 파일
locate filename # DB 기반 빠른 검색


텍스트 처리


# 파일 내용 보기
cat file.txt # 전체 출력
head -n 20 file # 처음 20줄
tail -n 50 file # 마지막 50줄
tail -f log.txt # 실시간 모니터링
less file.txt # 페이지 단위 보기

# 검색/필터
grep "error" file.log # 문자열 검색
grep -r "TODO" . # 재귀 검색
grep -i "error" file # 대소문자 무시
grep -v "debug" file # 제외 검색
grep -c "error" file # 개수 세기

# 텍스트 가공
sed "s/old/new/g" file # 문자열 치환
awk "{print $1}" file # 첫 번째 컬럼
cut -d":" -f1 /etc/passwd # 구분자로 자르기
sort file | uniq # 정렬 후 중복 제거
wc -l file # 줄 수 세기


프로세스 관리


# 프로세스 조회
ps aux # 모든 프로세스
ps -ef | grep java # 특정 프로세스
top # 실시간 모니터링
htop # 개선된 top

# 프로세스 제어
kill PID # 종료 요청
kill -9 PID # 강제 종료
killall processname # 이름으로 종료
nohup command & # 백그라운드 실행
jobs # 백그라운드 작업 목록
fg %1 # 포그라운드로


네트워크


# 네트워크 정보
ifconfig / ip addr # IP 확인
netstat -tlnp # 열린 포트
ss -tlnp # 소켓 통계
lsof -i :8080 # 포트 사용 프로세스

# 연결 테스트
ping google.com # 연결 확인
curl -I https://site.com # HTTP 헤더
wget file_url # 파일 다운로드
ssh user@host # 원격 접속
scp file user@host:/path # 파일 전송


디스크/메모리


# 디스크
df -h # 디스크 사용량
du -sh * # 디렉토리 크기
du -h --max-depth=1 # 1단계만

# 메모리
free -h # 메모리 사용량
vmstat 1 # 가상 메모리 통계


권한 관리


# 권한 변경
chmod 755 file # rwxr-xr-x
chmod +x script.sh # 실행 권한 추가
chmod -R 644 dir # 재귀적 변경

# 소유자 변경
chown user:group file
chown -R user dir


압축


# tar
tar -cvf archive.tar dir # 생성
tar -xvf archive.tar # 해제
tar -czvf archive.tar.gz dir # gzip 압축
tar -xzvf archive.tar.gz # gzip 해제

# zip
zip -r archive.zip dir # 압축
unzip archive.zip # 해제


시스템 정보


uname -a                       # 커널 정보
cat /etc/os-release # OS 정보
uptime # 가동 시간
who # 로그인 사용자
last # 로그인 기록
date # 현재 시간
cal # 달력


유용한 조합


# 로그에서 에러 찾기
tail -f app.log | grep --line-buffered "ERROR"

# 큰 파일 찾아서 삭제
find /var/log -name "*.log" -size +100M -delete

# 프로세스 메모리 사용량 정렬
ps aux --sort=-%mem | head -10

# 특정 확장자 일괄 변경
for f in *.txt; do mv "$f" "${f%.txt}.md"; done

# 파일 내용 비교
diff file1 file2
diff -y file1 file2 # 나란히 비교


단축키









단축키기능
Ctrl+C실행 중지
Ctrl+Z백그라운드로
Ctrl+R명령어 검색
Ctrl+L화면 지우기
Tab자동완성