리눅스 주요 명령어 가이드

리눅스 주요 명령어 가이드

리눅스 시스템을 효과적으로 사용하려면 명령줄에 익숙해져야 합니다. 이 문서는 파일 조작, 시스템 관리, 네트워크 설정 등 핵심 영역에서 7가지 카테고리와 60개 이상의 주요 명령어를 다룹니다.

  1. 기본 명령어 및 파일 조작

디렉토리 탐색

  • 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 오래된_디렉토리/  # 강제로 재귀적으로 삭제 (주의!)
  1. 텍스트 처리 및 보기

내용 보기

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  # 중복 제거 후 정렬
  1. 권한 및 사용자 관리

권한 제어

chmod: 권한 수정

chmod 755 스크립트.sh    # 실행 권한 설정
chmod -R u+rwx 디렉토리/  # 재귀적으로 읽기, 쓰기, 실행 권한 추가

chown: 소유자 수정

chown 사용자:그룹 파일.txt

사용자 관리

passwd: 비밀번호 수정

passwd 사용자명  # 루트 권한 필요

useradd/userdel: 사용자 관리

useradd -m 개발자_사용자  # 사용자 생성 및 홈 디렉토리 생성
userdel -r 오래된_사용자   # 사용자 및 홈 디렉토리 삭제
  1. 시스템 모니터링 및 관리

프로세스 모니터링

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  # 확인 없이 즉시 재부팅
  1. 네트워크 작업

네트워크 설정

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
  1. 압축 및 아카이브

주요 도구

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
  1. 고급 도구 및 팁

효율적인 명령어

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에 추가

태그: linux CommandLine FileManagement SystemMonitoring NetworkConfiguration

6월 14일 20:55에 게시됨