리눅스 주요 명령어 가이드
리눅스 시스템을 효과적으로 사용하려면 명령줄에 익숙해져야 합니다. 이 문서는 파일 조작, 시스템 관리, 네트워크 설정 등 핵심 영역에서 7가지 카테고리와 60개 이상의 주요 명령어를 다룹니다.
- 기본 명령어 및 파일 조작
디렉토리 탐색
pwd: 현재 작업 디렉토리 경로 표시
pwd # 출력: /home/user
cd: 디렉토리 변경
cd /var/log # 로그 디렉토리로 이동
cd ~ # 홈 디렉토리로 이동
cd .. # 상위 디렉토리로 이동
ls: 디렉토리 내용 표시
ls -lha # 상세 정보(숨김 파일 포함) 표시
파일/디렉토리 관리
mkdir: 디렉토리 생성
mkdir -p 프로젝트/{src,doc} # 중첩된 디렉토리 생성
touch: 빈 파일 생성 또는 시간 스탬프 업데이트
touch 스크립트.sh
cp: 파일 또는 디렉토리 복사
cp 파일1.txt ~/백업/ # 파일 복사
cp -r 디렉토리1/ ~/백업/ # 디렉토리 재귀적으로 복사
mv: 파일 이동 또는 이름 변경
mv 오래된.txt 새.txt # 이름 변경
mv 보고서.pdf /아카이브/ # 파일 이동
rm: 파일 또는 디렉토리 삭제
rm -rf 오래된_디렉토리/ # 강제로 재귀적으로 삭제 (주의!)
- 텍스트 처리 및 보기
내용 보기
cat: 파일 내용 표시
cat -n 설정.conf # 줄 번호 표시
more/less: 페이지별 보기
less /var/log/syslog # 양방향 스크롤 지원
head/tail: 처음 또는 마지막 부분 보기
tail -f 앱.log # 실시간 로그 추적
head -n 5 데이터.csv # 처음 5줄 표시
텍스트 처리
grep: 텍스트 검색
grep -r "ERROR" /var/log/ # 디렉토리 내 재귀적으로 검색
wc: 줄 수, 단어 수 통계
wc -l 접근로그.log # 줄 수 통계
sort/uniq: 정렬 및 중복 제거
sort data.txt | uniq # 중복 제거 후 정렬
- 권한 및 사용자 관리
권한 제어
chmod: 권한 수정
chmod 755 스크립트.sh # 실행 권한 설정
chmod -R u+rwx 디렉토리/ # 재귀적으로 읽기, 쓰기, 실행 권한 추가
chown: 소유자 수정
chown 사용자:그룹 파일.txt
사용자 관리
passwd: 비밀번호 수정
passwd 사용자명 # 루트 권한 필요
useradd/userdel: 사용자 관리
useradd -m 개발자_사용자 # 사용자 생성 및 홈 디렉토리 생성
userdel -r 오래된_사용자 # 사용자 및 홈 디렉토리 삭제
- 시스템 모니터링 및 관리
프로세스 모니터링
top/htop: 실시간 리소스 모니터링
top -p 1234 # 특정 PID 모니터링
ps: 프로세스 스냅샷 보기
ps aux | grep nginx # Nginx 프로세스 찾기
리소스 보기
free: 메모리 사용량
free -h # GB/MB 단위로 보기 좋게 표시
df/du: 디스크 공간
df -h # 파티션 사용량
du -sh /home/사용자/ # 디렉토리 크기 요약
uptime: 시스템 부하
uptime # 출력: 14:30:01 up 30 days, 3 users, load avg: 0.15
시스템 종료 및 재부팅
shutdown: 안전하게 종료/재부팅
shutdown -h now # 즉시 종료
shutdown -r +10 # 10분 후 재부팅
reboot: 즉시 재부팅
reboot # 확인 없이 즉시 재부팅
- 네트워크 작업
네트워크 설정
ifconfig/ip: 네트워크 보기/설정
ip addr show # 모든 인터페이스 IP 표시
ifconfig eth0 down # 네트워크 인터페이스 비활성화
ping: 연결 테스트
ping -c 4 google.com # 4개 패킷 전송
네트워크 도구
netstat/ss: 연결 및 포트 보기
netstat -tuln # 리스닝 중인 TCP/UDP 포트
ss -tuln # 더 효율적인 대안
ssh/scp: 원격 접속 및 파일 전송
ssh 사용자@192.168.1.100
scp 파일.txt 사용자@호스트:/경로/
wget/curl: 웹 다운로드
wget https://예시.com/파일.zip
curl -O https://예시.com/데이터.json
- 압축 및 아카이브
주요 도구
tar: 파일 아카이브
tar -czvf 백업.tar.gz /데이터/ # 압축
tar -xzvf 백업.tar.gz # 해제
gzip/gunzip: 압축 및 해제
gzip 큰.log # 큰.log.gz 생성
gunzip 큰.log.gz
zip/unzip: ZIP 파일 처리
zip -r 프로젝트.zip 프로젝트/
unzip 아카이브.zip
- 고급 도구 및 팁
효율적인 명령어
find: 고급 파일 검색
find / -name "*.conf" -type f # 전체 시스템에서 설정 파일 검색
awk: 텍스트 처리 및 통계
awk '{print $1}' 접근로그.log | sort | uniq -c # IP 방문 횟수 통계
sed: 텍스트 스트림 교체
sed 's/old/new/g' 파일.txt > 새파일.txt
자동화 팁
타이머 작업: cron
crontab -e # 예: 0 * * * * /백업.sh 추가
별칭 간소화: alias
alias ll='ls -lha' # ~/.bashrc에 추가