아래는 Ubuntu 사용자라면 반드시 알아야 할 주요 명령어들에 자주 쓰는 옵션들과 예제를 함께 정리한 버전입니다.
❏ 파일 및 디렉토리 조작
| 명령어 | 설명 및 자주 쓰는 옵션 | 예제 |
|---|---|---|
| ls | 디렉토리 목록 보기 • -l: 상세 정보 • -a: 숨김 파일 포함 • -h: 사람 친화적 크기 | ls -alh /etc |
| cd | 디렉토리 이동 | cd /var/log |
| pwd | 현재 디렉토리 경로 표시 | pwd |
| cp | 파일/디렉토리 복사 • -r: 재귀 복사 • -u: 최신 파일만 복사 • -v: 진행 표시 | cp -ruv /data/* /backup/ |
| mv | 파일/폴더 이동 또는 이름 변경 • -v: 진행 표시 | mv -v old.txt new.txt |
| rm | 파일/디렉토리 삭제 • -r: 디렉토리 포함 삭제 • -f: 묻지 않고 강제 삭제 • -v: 진행 표시 | rm -rfv /tmp/test |
| mkdir | 디렉토리 생성 • -p: 상위 디렉토리까지 자동 생성 | mkdir -p /data/archive/2025 |
| touch | 빈 파일 생성 또는 파일 시간 변경 | touch index.html |
❏ 파일 보기 및 편집
| 명령어 | 설명 및 자주 쓰는 옵션 | 예제 |
|---|---|---|
| cat | 파일 전체 출력 | cat /etc/os-release |
| less / more | 페이지 단위로 보기 • less: 위/아래 자유 스크롤 • q: 종료 | less /var/log/syslog |
| head / tail | 처음/끝 N줄 보기 • -n N: 줄 수 지정 • -f: 실시간 보기 (tail 전용) | tail -n 50 /var/log/auth.logtail -f /var/log/syslog |
| nano | 간단한 텍스트 편집기 | sudo nano /etc/fstab |
| vim | 고급 텍스트 편집기 | vim ~/.bashrc |
❏ 시스템 정보 및 상태 확인
| 명령어 | 설명 및 자주 쓰는 옵션 | 예제 |
|---|---|---|
| uname | 커널 정보 • -a: 모든 정보 표시 | uname -a |
| top | 실시간 프로세스 보기 | top |
| htop | 컬러 인터페이스 프로세스 보기 (설치 필요) | htop |
| df | 디스크 사용량 확인 • -h: 사람 읽기 쉬운 형식 | df -h |
| du | 디렉토리/파일 용량 확인 • -sh: 합계, 단위 출력 | du -sh * |
| free | 메모리 사용량 확인 • -m: MB 단위 • -h: 자동 단위 | free -h |
| uptime | 시스템 가동 시간 및 로드 평균 | uptime |
❏ 사용자 및 권한 관리
| 명령어 | 설명 및 자주 쓰는 옵션 | 예제 |
|---|---|---|
| adduser | 사용자 추가 (대화형) | sudo adduser devuser |
| passwd | 사용자 비밀번호 설정 | sudo passwd devuser |
| chown | 소유권 변경 • -R: 재귀적 변경 | sudo chown -R www-data:www-data /var/www/html |
| chmod | 권한 변경 • 755: 실행 가능 • 644: 읽기/쓰기(파일) | chmod 755 script.sh |
| id | 사용자 및 그룹 정보 확인 | id |
❏ 패키지 관리 (APT)
| 명령어 | 설명 및 자주 쓰는 옵션 | 예제 |
|---|---|---|
| apt update | 패키지 목록 갱신 | sudo apt update |
| apt upgrade | 모든 패키지 업그레이드 • -y: 자동 승인 | sudo apt upgrade -y |
| apt install | 패키지 설치 | sudo apt install nginx |
| apt remove | 패키지 제거 | sudo apt remove nginx |
| apt purge | 설정 파일까지 제거 | sudo apt purge nginx |
| dpkg -l | 설치된 패키지 목록 보기 | dpkg -l |
| apt search | 패키지 검색 | apt search docker |
❏ 서비스 및 프로세스 제어
| 명령어 | 설명 및 자주 쓰는 옵션 | 예제 |
|---|---|---|
| systemctl | 서비스 상태 관리 • start, stop, restart, status, enable | sudo systemctl restart ssh sudo systemctl enable nginx |
| ps aux | 전체 프로세스 확인 | ps aux |
| kill | PID로 프로세스 종료 | kill -9 12345 |
| killall | 이름으로 모든 프로세스 종료 | killall firefox |
❏ 네트워크 관련
| 명령어 | 설명 및 자주 쓰는 옵션 | 예제 |
|---|---|---|
| ip a | 네트워크 인터페이스 정보 | ip a |
| ping | 네트워크 연결 확인 | ping 8.8.8.8 -c 4 |
| ss | 포트 상태 확인 • -tuln: TCP/UDP 리스닝 포트 | ss -tuln |
| curl | HTTP 요청 | curl -I https://example.com |
| dig | DNS 정보 조회 | dig google.com |
❏ 로그 및 시스템 감시
| 명령어 | 설명 및 자주 쓰는 옵션 | 예제 |
|---|---|---|
| journalctl | systemd 로그 확인 • -xe: 에러 로그 실시간 표시 | journalctl -xe |
| last | 로그인 기록 보기 | last |
| who | 현재 로그인된 사용자 보기 | who |
❏ 검색 및 기타 유틸리티
| 명령어 | 설명 및 자주 쓰는 옵션 | 예제 |
|---|---|---|
| find | 파일/디렉토리 검색 • -name, -type, -mtime 등 | find /var -name “*.log” |
| grep | 문자열 검색 • -i: 대소문자 무시 • -r: 재귀적 검색 | grep -i “fail” /var/log/syslog |
| tar | 압축/해제 • -czvf: 압축• -xzvf: 해제 | tar -czvf backup.tar.gz /etc |
| alias | 명령어 단축 설정 | alias ll=’ls -alF’ |
| crontab -e | 자동 실행 작업 예약 | 0 3 * * * /usr/bin/backup.sh |
※ 재귀적이라는 말은, 어떤 작업을 수행할 때 현재 위치뿐만 아니라 하위 구조(디렉토리 등)까지 반복적으로 동일한 작업을 적용하는 방식.