Ubuntu 서버나 데스크톱을 관리하다 보면 자주 쓰는 명령어인데도 정확한 옵션이 헷갈려서 매번 man 페이지나 검색을 반복하게 되는 경우가 많다. Canonical은 시스템, 파일, 패키지, 사용자, 네트워크, LXD, Ubuntu Pro까지 자주 쓰는 명령어를 한 장(정확히는 3페이지)으로 정리한 공식 Ubuntu CLI cheat sheet를 PDF로 배포하고 있다. 이 글에서는 그 내용을 카테고리별 표로 정리하고, 실제 Ubuntu 24.04 호스트에서 하나씩 실행해 확인한 결과를 함께 남긴다.
시스템
| 명령어 | 설명 |
uname -a | 전체 시스템 정보 표시 |
hostnamectl | 호스트명과 관련 정보 표시 |
lscpu | CPU 아키텍처 정보 표시 |
timedatectl status | 시스템 시간 표시 |
top / htop | 실시간 프로세스 표시(htop은 별도 설치 필요) |
df -h | 디스크 사용량을 사람이 읽기 쉬운 단위로 표시 |
free -m | 메모리 사용량을 MB 단위로 표시 |
kill <pid> | 프로세스 종료 |
<command> & | 명령을 백그라운드로 실행 |
jobs / fg <job> | 백그라운드 작업 목록 확인 / 포그라운드로 전환 |
sudo systemctl start/stop/status/reload <service> | 서비스 시작/중지/상태 확인/설정 재적용 |
journalctl -f / -u <unit> | 로그 실시간 추적 / 특정 유닛 로그만 조회 |
crontab -e / -l | cron 작업 편집 / 목록 확인 |
대표적인 명령어 몇 개를 실제로 실행해봤다.
$ uname -a
Linux noble 7.0.0-28-generic #28~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC x86_64 GNU/Linux
$ free -m
total used free shared buff/cache available
Mem: 7936 843 5088 13 2261 7092
Swap: 4095 0 4095
$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 123G 31G 87G 26% /
$ sleep 30 &
$ jobs
[1]+ Running sleep 30 &
jobs는 &로 띄운 백그라운드 작업의 상태(Running/Done)를 그대로 보여준다.
파일
| 명령어 | 설명 |
ls | 파일/디렉터리 목록 표시 |
touch <file> | 빈 파일 생성 또는 접근 시각 갱신 |
cp <src> <dst> / mv <src> <dst> | 파일 복사 / 이동(이름변경) |
rm <file> | 파일 삭제 |
pwd / cd <dir> / mkdir <dir> | 현재 경로 확인 / 디렉터리 이동 / 생성 |
chmod [who][+/-][perm] <file> | 파일 권한 변경(예: chmod u+x) |
chown [user]:[group] <file> | 파일 소유자/그룹 변경 |
find [dir] -name <pattern> | 파일/디렉터리 검색 |
grep <pattern> <file> | 파일 내 패턴 검색 |
tar -czvf <name.tar.gz> [files] | tar.gz로 압축 |
tar -xvf <name.tar.gz> [dst] | 압축 해제 |
nano / cat / less / head / tail / awk '{print}' | 파일 편집 / 전체·페이지 단위·앞·뒤 내용 출력 / 라인 출력 |
파일 생성부터 권한 변경, 압축·해제까지 이어지는 흐름을 실제로 실행했다.
$ touch notes.txt access.log
$ echo "hello ubuntu" > notes.txt
$ chmod u+x notes.txt
$ ls -l notes.txt
-rwxrw-r-- 1 noble noble 13 Jul 30 22:15 notes.txt
$ find . -name "*.txt"
./notes.txt
$ grep "ubuntu" notes.txt
hello ubuntu
$ tar -czvf backup.tar.gz notes.txt access.log
notes.txt
access.log
$ rm notes.txt access.log
$ tar -xvf backup.tar.gz
notes.txt
access.log
$ ls -l
-rw-rw-r-- 1 noble noble 0 Jul 30 22:15 access.log
-rw-rw-r-- 1 noble noble 161 Jul 30 22:15 backup.tar.gz
-rwxrw-r-- 1 noble noble 13 Jul 30 22:15 notes.txt
tar -xvf로 복원해도 chmod u+x로 준 실행 권한이 아카이브 안에 그대로 보존되는 걸 확인할 수 있다.
패키지 (APT / Snap)
| 명령어 | 설명 |
sudo apt install <pkg> | 패키지 설치 |
sudo apt install -f --reinstall <pkg> | 깨진 패키지 재설치 |
apt search <pkg> | 패키지 검색 |
apt-cache policy <pkg> | 설치 가능한 버전 목록 확인 |
sudo apt update / upgrade | 패키지 목록 갱신 / 전체 업그레이드 |
sudo apt remove / purge <pkg> | 패키지 제거 / 설정 파일까지 완전 제거 |
snap find <pkg> | Snap 패키지 검색 |
sudo snap install/remove <name> | Snap 설치 / 제거 |
sudo snap refresh | 설치된 Snap 전체 업데이트 |
snap list / snap info <name> | 설치된 Snap 목록 / 상세 정보 |
$ apt-cache policy curl
curl:
Installed: 8.5.0-2ubuntu10.11
Candidate: 8.5.0-2ubuntu10.11
Version table:
*** 8.5.0-2ubuntu10.11 500
500 http://kr.archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu noble-security/main amd64 Packages
8.5.0-2ubuntu10 500
500 http://kr.archive.ubuntu.com/ubuntu noble/main amd64 Packages
$ snap list
Name Version Rev Tracking Publisher Notes
bare 1.0 5 latest/stable canonical** base
core22 20260225 2411 latest/stable canonical** base
core24 20260410 1643 latest/stable canonical** base
core26 20260531 409 latest/stable canonical** base
apt-cache policy는 설치된 버전과 후보 버전, 그리고 각 버전이 어느 저장소(archive/security)에서 오는지까지 함께 보여준다.
APT와 Snap을 더 자세히 다루는 글은 아래를 참고한다.
사용자와 그룹
| 명령어 | 설명 |
w | 현재 로그인한 사용자 표시 |
sudo adduser/deluser <user> | 사용자 생성 / 삭제 |
sudo passwd <user> | 비밀번호 설정/변경 |
su <user> | 사용자 전환 |
sudo passwd -l/-u <user> | 계정 잠금 / 잠금 해제 |
sudo chage <user> | 비밀번호 만료 정책 설정 |
id [user] / groups [user] | UID/GID 확인 / 소속 그룹 확인 |
sudo addgroup/delgroup <group> | 그룹 생성 / 삭제 |
$ id
uid=1000(noble) gid=1000(noble) groups=1000(noble),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),100(users),114(lpadmin)
$ w
22:15:13 up 44 min, 2 users, load average: 0.57, 0.16, 0.10
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
noble 192.168.0.10 22:15 43:13 0.00s 0.01s sshd: noble [priv]
gdm tty1 - 21:31 44:09 13.41s 0.35s /usr/bin/gjs -m ...
사용자 계정 추가·삭제를 더 자세히 다루는 글은 아래를 참고한다.
네트워크
| 명령어 | 설명 |
ip addr show | 네트워크 인터페이스와 IP 주소 표시 |
ip -s link | 네트워크 통계 표시 |
ss -l | 리스닝 소켓 표시 |
ping <host> | 호스트에 핑을 보내 응답 확인 |
cat /etc/netplan/*.yaml | 현재 Netplan 설정 확인 |
sudo netplan try | 새 설정을 일정 시간만 테스트 적용 |
sudo netplan apply | 현재 Netplan 설정 적용 |
sudo ufw status | 방화벽 상태 확인 |
sudo ufw enable/disable | 방화벽 활성화 / 비활성화 |
sudo ufw allow/deny <port> | 특정 포트/서비스 허용 / 차단 |
sudo ufw delete allow/deny <port> | 기존 규칙 삭제 |
ssh <user@host> | 원격 호스트에 SSH 접속 |
scp <src> <user@host>:<dst> | 호스트 간 파일 복사 |
$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
inet 127.0.0.1/8 scope host lo
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP
inet 192.168.0.42/24 brd 192.168.0.255 scope global dynamic noprefixroute enp0s3
$ sudo ufw status
Status: inactive
테스트 호스트는 방화벽을 켜두지 않아 inactive로 나오는데, 실제 서버라면 ufw enable 전에 SSH 포트를 allow해두지 않으면 원격 접속이 그대로 끊길 수 있어 주의가 필요하다.
Netplan과 UFW를 더 자세히 다루는 글은 아래를 참고한다.
LXD
LXD는 시스템 컨테이너와 VM을 동일한 인터페이스로 다루는 도구다. sudo snap install lxd로 설치하고 lxd init으로 초기화한 뒤 사용한다.
| 명령어 | 설명 |
lxd init | 최초 사용 전 LXD 초기화 |
lxc init ubuntu:24.04 <name> | 컨테이너 생성(시작하지 않음) |
lxc launch ubuntu:24.04 <name> | 컨테이너 생성 후 바로 시작 |
lxc launch ubuntu:24.04 <name> --vm | 가상머신 생성 후 시작 |
lxc list / lxc info <instance> | 인스턴스 목록 / 상세 상태 확인 |
lxc start/stop/delete <instance> | 인스턴스 시작 / 중지 / 삭제 |
lxc exec <instance> -- <command> | 인스턴스 안에서 명령 실행 |
lxc file pull/push ... | 인스턴스와 파일 주고받기 |
lxc project create/set/switch <project> | 프로젝트 생성 / 설정 / 전환 |
컨테이너를 실제로 만들고 명령을 실행한 뒤 정리하는 과정까지 확인했다.
$ sudo lxc launch ubuntu:24.04 demo-container
Launching demo-container
Retrieving image: rootfs: 100% (7.66MB/s)
$ sudo lxc list
+----------------+---------+------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+----------------+---------+------+------+-----------+-----------+
| demo-container | RUNNING | | | CONTAINER | 0 |
+----------------+---------+------+------+-----------+-----------+
$ sudo lxc exec demo-container -- hostnamectl
Static hostname: demo-container
Virtualization: lxc
$ sudo lxc delete demo-container --force
lxc exec로 실행한 hostnamectl이 호스트가 아니라 컨테이너 내부 정보(Virtualization: lxc)를 보여주는 걸로 격리가 제대로 되고 있음을 확인할 수 있다.
Ubuntu Pro
Ubuntu Pro는 LTS 5년 지원을 최대 12년까지 연장하고 ESM, Livepatch, FIPS 같은 서비스를 제공한다. ubuntu.com/pro에서 개인 사용자는 최대 5대까지 무료로 등록할 수 있다.
| 명령어 | 설명 |
sudo pro attach <token> | 토큰으로 Ubuntu Pro 연결 |
sudo pro status | 전체 서비스 상태 확인 |
sudo pro enable/disable <service> | 특정 서비스(ESM/FIPS/Livepatch 등) 활성화 / 비활성화 |
sudo pro enable esm-infra / esm-apps | 인프라 패키지 / 애플리케이션 대상 ESM 활성화 |
sudo pro enable livepatch | 재부팅 없이 커널 패치 적용 |
sudo pro enable fips | FIPS 암호화 표준 모드 활성화 |
sudo pro refresh | Pro 설정/서비스 상태 갱신 |
sudo pro detach | Pro 연결 해제(모든 서비스 비활성화) |
$ pro status
SERVICE AVAILABLE DESCRIPTION
esm-apps yes Expanded Security Maintenance for Applications
esm-infra yes Expanded Security Maintenance for Infrastructure
fips-updates yes FIPS compliant crypto packages with stable security updates
livepatch yes Canonical Livepatch service
realtime-kernel yes Ubuntu kernel with PREEMPT_RT patches integrated
This machine is not attached to an Ubuntu Pro subscription.
See https://ubuntu.com/pro
토큰 없이 pro status만 실행해도 어떤 서비스를 쓸 수 있는지, 현재 연결 상태인지는 확인할 수 있다. 무료 등록과 ESM 활용법은 아래 글을 참고한다.
주의사항
rm,apt purge,lxc delete --force처럼 되돌릴 수 없는 명령은 대상을 한 번 더 확인하고 실행한다.chmod/chown은 프로덕션 서버에서 잘못 지정하면 서비스 권한 문제로 이어지므로 대상 파일/디렉터리를 정확히 지정한다.sudo ufw enable은 SSH로 원격 접속 중인 서버에서 먼저ufw allow OpenSSH(또는 SSH 포트) 규칙을 추가한 뒤 실행해야 접속이 끊기지 않는다.sudo pro attach는 실제 Ubuntu Pro 토큰이 있어야 동작한다(무료 등록 후 발급).- LXD는
lxdbr0브리지 네트워크와 AppArmor 프로파일을 함께 구성하므로, 다른 가상화/컨테이너 스택과 같이 쓰는 환경이라면 먼저 테스트 환경에서 확인 후 적용한다.
마무리
Canonical 공식 cheat sheet는 시스템 운영에 필요한 명령어를 폭넓게 다루면서도 한눈에 훑어볼 수 있게 정리돼 있어, 즐겨찾기해두고 필요할 때마다 찾아보기 좋다. 각 카테고리를 더 깊이 다루는 글은 위에 링크한 개별 가이드를 참고한다.
참고
- Ubuntu CLI cheat sheet (Canonical 공식): 이 글이 정리한 원본 PDF 다운로드 페이지
- Command-line cheat sheet (Ubuntu Server docs): 공식 문서 페이지 버전
- canonical.com/lxd: LXD 공식 소개 페이지
- ubuntu.com/pro: Ubuntu Pro 무료 등록 페이지
- netplan.io: Netplan 공식 문서