
top은 리눅스 시스템의 CPU, 메모리, 프로세스 상태를 실시간으로 확인하는 명령어.
top
실행하면 화면이 계속 갱신되며, 성능 모니터링이나 문제 원인 확인에 사용한다.


top - 03:38:33 up 21:47, 0 users, load average: 0.01, 0.00, 0.00
| 항목 | 의미 |
|---|---|
03:38:33 | 현재 시스템 시간 |
up 21:47 | 시스템이 켜져 있던 시간 |
0 users | 현재 로그인한 사용자 수 |
load average | 최근 1분, 5분, 15분 동안의 평균 시스템 부하 |
load average는 실행 중이거나 CPU를 기다리는 작업 수를 의미한다.
Tasks: 6 total, 1 running, 5 sleeping, 0 stopped, 0 zombie
| 항목 | 의미 |
|---|---|
total | 전체 프로세스 수 |
running | 실행 중인 프로세스 |
sleeping | 대기 중인 프로세스 |
stopped | 중지된 프로세스 |
zombie | 종료됐지만 정리되지 않은 프로세스 |
zombie가 계속 많이 존재하면 부모 프로세스에 문제가 있을 수 있다.
%Cpu(s): 0.1 us, 0.1 sy, 0.0 ni, 99.7 id, 0.0 wa ...
| 항목 | 의미 |
|---|---|
us | 일반 사용자 프로그램의 CPU 사용률 |
sy | 커널·시스템 프로세스 사용률 |
ni | nice 값이 적용된 프로세스 사용률 |
id | CPU가 쉬고 있는 비율 |
wa | 디스크 등 입출력을 기다리는 비율 |
hi | 하드웨어 인터럽트 처리 |
si | 소프트웨어 인터럽트 처리 |
st | 가상환경에서 다른 시스템에 빼앗긴 CPU 시간 |
보통 CPU 사용률은 대략 다음처럼 볼 수 있다.
CPU 사용률 ≈ 100 - id
예를 들어 id가 99.7이면 CPU는 거의 사용되지 않는 상태다.
MiB Mem : 7851.5 total, 5293.2 free, 317.0 used, 2241.3 buff/cache
MiB Swap: 1024.0 total, 1024.0 free, 0.0 used
💡
컨테이너가 볼 수 있는 Linux 환경의 전체 자원 범위 필요할 때 로컬 PC 자원을 가져다 쓰는 구조
| 항목 | 의미 |
|---|---|
total | 전체 RAM |
free | 완전히 비어 있는 RAM |
used | 사용 중인 RAM |
buff/cache | 버퍼와 캐시에 사용되는 RAM |
avail Mem | 실제로 새 프로그램이 사용할 수 있는 메모리 |
리눅스는 남는 메모리를 캐시로 적극 활용하므로, free만 보고 메모리가 부족하다고 판단하면 안 된다. avail Mem을 함께 보는 것이 중요하다.
RAM이 부족할 때 디스크 일부를 메모리처럼 사용하는 공간이다. Swap 사용량이 계속 높으면 메모리 부족이나 성능 저하를 의심할 수 있다.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
| 열 | 의미 |
|---|---|
PID | 프로세스 번호 |
USER | 프로세스를 실행한 사용자 |
PR | 프로세스 우선순위 |
NI | nice 값(우선순위를 위함 작을수록 높은 우선순위임) |
VIRT | 프로세스가 확보한 전체 가상 메모리 |
RES | 실제 RAM에서 사용 중인 메모리 |
SHR | 다른 프로세스와 공유하는 메모리 |
S | 프로세스 상태 |
%CPU | CPU 사용률 |
%MEM | 메모리 사용률 |
TIME+ | 프로세스가 사용한 누적 CPU 시간 |
COMMAND | 실행된 명령어 또는 프로그램 이름 |
S주로 다음 값이 나온다.
| 값 | 의미 |
|---|---|
R | 실행 중 |
S | 대기 중 |
T | 중지됨 |
Z | 좀비 프로세스 |
PR과 NINI는 nice 값으로, 보통 -20부터 19 범위를 사용한다.
낮은 nice 값 → 높은 우선순위
높은 nice 값 → 낮은 우선순위
예를 들어:
NI -10 → 우선순위가 비교적 높음
NI 10 → 우선순위가 비교적 낮음
top 실행 중 단축키| 키 | 기능 |
|---|---|
h 또는 ? | 도움말 |
P | CPU 사용률 기준 정렬 |
M | 메모리 사용률 기준 정렬 |
T | 누적 CPU 시간 기준 정렬 |
u | 특정 사용자의 프로세스만 표시 |
k | PID를 입력해 프로세스 종료 |
r | 프로세스의 nice 값 변경 |
f | 표시할 열 선택 |
Space | 즉시 새로고침 |
q | 종료 |
주의할 점은 대문자 단축키는 Shift와 함께 눌러야 한다는 것이다.
CPU를 많이 사용하는 프로세스 확인:
top 실행 → P
메모리를 많이 사용하는 프로세스 확인:
top 실행 → M
특정 프로세스 종료:
top 실행 → k → PID 입력 → signal 입력
보통 종료 신호는 먼저 15를 사용하고, 정상 종료되지 않을 때만 9를 고려한다.
top = 시스템 전체 자원 상태와 각 프로세스의 CPU·메모리 사용량을 실시간으로 확인하는 명령어
리눅스에서는 파일을 단순히 확장자로 구분하지 않고, 파일시스템에서 어떤 역할을 하는지에 따라 여러 종류로 나눈다. 파일 타입은 보통 ls -l 출력의 맨 앞 글자로 확인할 수 있다.
-rw-r--r-- document.txt
drwxr-xr-x project
lrwxrwxrwx python -> python3
맨 앞의 -, d, l이 파일 타입이다.

텍스트, 이미지, 실행 파일, 바이너리 데이터 등 일반적인 내용을 저장하는 파일이다.
-rw-r--r-- document.txt
/home/user/document.txt
/etc/passwd
d다른 파일과 디렉터리의 목록을 담아 파일시스템을 계층적으로 구성한다.
drwxr-xr-x project
/home/user/
/etc/
l다른 파일이나 디렉터리를 가리키는 바로가기다.
lrwxrwxrwx python -> python3.8
ln-s 원본파일 링크이름
ln-s python3.8 python
원본이 삭제되면 링크는 끊어진 상태가 된다.
b하드디스크나 SSD처럼 데이터를 일정한 블록 단위로 읽고 쓰는 장치를 나타낸다.
brw-rw---- /dev/sda1
/dev/sda
/dev/sda1
주로 저장장치와 관련된다.
c키보드, 터미널, 마우스처럼 데이터를 바이트 스트림 단위로 처리하는 장치를 나타낸다.
crw-rw-rw- /dev/null
/dev/tty1
/dev/null
/dev/null은 입력된 데이터를 버리는 특수 장치 파일이다.
p프로세스끼리 데이터를 주고받는 데 사용하는 특수 파일이다. FIFO 방식으로 먼저 들어온 데이터가 먼저 나간다.
mkfifo example_fifo
echo"hello" > example_fifocat example_fifo
한 프로세스가 쓴 내용을 다른 프로세스가 읽을 수 있다.
💡잘 사용되지 않음
s프로세스 간 통신에 사용되는 파일이다. 네임드 파이프보다 양방향 통신과 네트워크 통신에 더 적합하다.
/var/run/docker.sock
Docker 명령어는 이 소켓을 통해 Docker 데몬과 통신할 수 있다.
| 기호 | 파일 타입 | 역할 |
|---|---|---|
- | 일반 파일 | 텍스트·프로그램·데이터 저장 |
d | 디렉터리 | 파일과 폴더 관리 |
l | 심볼릭 링크 | 다른 파일을 가리키는 바로가기 |
b | 블록 장치 | 디스크 등 블록 단위 장치 |
c | 문자 장치 | 터미널 등 바이트 스트림 장치 |
p | 네임드 파이프 | 프로세스 간 단방향 데이터 전달 |
s | 소켓 | 프로세스 간 양방향 통신 |
ps는 Process Status의 약자로, 현재 실행 중인 프로세스 정보를 확인하는 명령어.
top이 프로세스 상태를 계속 갱신해서 보여준다면, ps는 명령어를 실행한 순간의 상태를 한 번 출력한다.
#현재 터미널의 프로세스 확인
ps
#시스템의 전체 프로세스 확인
ps aux
보통 프로세스를 확인할 때 가장 많이 사용한다.
#전체 프로세스를 상세 형식으로 확인
ps -ef
- `e`: 모든 프로세스
- `f`: 상세 형식으로 출력
#특정 사용자의 프로세스 확인
ps-u ubuntu
# 특정 프로세스 검색
ps aux | grep sshd
전체 프로세스 중 sshd가 포함된 줄만 찾는다.
ps aux의 의미ps aux

| 문자 | 의미 |
|---|---|
a | 다른 사용자의 프로세스까지 표시 |
u | 사용자 중심의 자세한 형식 |
x | 터미널에 연결되지 않은 프로세스도 표시 |
즉, 시스템의 거의 모든 프로세스를 자세하게 출력하는 명령어야.
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
| 항목 | 의미 |
|---|---|
USER | 프로세스 실행 사용자 |
PID | 프로세스 고유 번호 |
%CPU | CPU 사용률 |
%MEM | 메모리 사용률 |
VSZ | 프로세스가 확보한 전체 가상 메모리 |
RSS | 실제 RAM에 올라간 메모리 |
TTY | 연결된 터미널 |
STAT | 프로세스 상태 |
START | 프로세스 시작 시각 |
TIME | 누적 CPU 사용 시간 |
COMMAND | 프로세스를 시작한 명령어 |
VSZ와 RSS 차이VSZ → 가상 메모리를 포함한 전체 확보 공간
RSS → 실제 RAM에서 사용 중인 공간
실제 메모리 사용량을 볼 때는 보통 RSS와 %MEM을 확인한다.
TTYTTY는 해당 프로세스와 연결된 터미널을 나타낸다.
pts/0 → SSH나 터미널에서 실행된 프로세스
? → 특정 터미널과 연결되지 않은 백그라운드 프로세스
예를 들어 서버 서비스나 데몬은 보통 TTY가 ?로 표시된다.
STAT| 상태 | 의미 |
|---|---|
R | 실행 중 또는 실행 대기 |
S | 대기 상태 |
D | 입출력 작업을 기다리는 중 |
T | 중지된 상태 |
Z | 좀비 프로세스 |
s | 세션 리더 |
+ | 현재 터미널의 포그라운드 프로세스 |
Ss
- `S`: 대기 중
- `s`: 세션 리더(리눅스를 시작할 때 같이 시작했던 프로세스)
R+
- `R`: 실행 중
- `+`: 포그라운드 프로세스
ps aux--sort=-%mem

ps aux--sort=-%cpu
상위 몇 개만 확인하려면: ps aux--sort=-%mem | head
#PID와 명령어만 출력:
ps aux |awk'{print $2, $11}'
#sshd 프로세스의 사용자명과 PID 출력:
ps aux |grep'[s]shd' |awk'{print $1, $2}'
- `$1`: USER
- `$2`: PID
- `$11`: COMMAND의 첫 번째 항목
| 목적 | 명령어 |
|---|---|
| 현재 터미널 프로세스 | ps |
| 전체 프로세스 상세 확인 | ps aux |
| 전체 프로세스 전체 형식 | ps -ef |
| 특정 사용자 프로세스 | ps -u username |
| 특정 프로세스 검색 | `ps aux |
| 메모리 순 정렬 | ps aux --sort=-%mem |
| CPU 순 정렬 | ps aux --sort=-%cpu |
ps는 특정 시점의 프로세스 목록을 확인하는 명령어이고, top은 실시간으로 계속 갱신되는 모니터링 명령어
inode(index node)는 리눅스 파일시스템에서 파일이나 디렉터리의 정보를 저장하는 자료구조(메타 데이터)
inode에는 다음 정보가 저장된다.
반면 다음 정보는 inode에 직접 저장되지 않는다.
파일 이름 → inode 번호 → 실제 데이터 블록
같은 파일시스템 안에서 각 inode는 고유한 번호를 가진다
ls-li
1758744 -rw-r--r-- 2 user user 10 original.txt
1758744 -rw-r--r-- 2 user user 10 hardlink.txt
맨 앞의 1758744가 inode 번호
두 파일의 inode 번호가 같다면 같은 실제 데이터를 가리키는 하드 링크라는 뜻이다.
파일의 자세한 inode 정보를 확인하려면:
stat original.txt
주요 출력:
Inode: inode 번호
Links: 하드 링크 개수
Access: 파일 권한
Uid/Gid: 소유자와 그룹
Access/Modify/Change: 시간 정보

하드 링크는 기존 파일에 붙이는 또 다른 파일 이름이야.
ln 원본파일 하드링크이름
ex)
ln original.txt hardlink.txt
페이지 2의 그림처럼 원본 파일과 하드 링크가 모두 같은 inode를 직접 가리킨다.
original.txt ─┐
├─ 같은 inode → 같은 데이터
hardlink.txt ─┘
stat original.txt
Links: 2
rm original.txt
⛅이 작업은 실제 데이터를 즉시 삭제하는 것이 아니라, `original.txt`라는 이름과 inode의 연결 하나를 제거하는 것.
hardlink.txt가 여전히 같은 inode를 가리키고 있으므로 데이터는 남아 있다.
모든 하드 링크가 삭제되고 해당 파일을 사용하는 프로세스도 없어야 실제 데이터 공간이 해제된다.

소프트 링크는 심볼릭 링크라고도 하며, 다른 파일이나 디렉터리의 경로를 저장하는 바로가기 파일이야.
ln-s 대상 링크이름
ex) ln-s original.txt softlink.txt
소프트 링크는 inode를 직접 공유하지 않고, 원본 파일의 경로를 가리킨다.
softlink.txt → "original.txt"라는 경로 → 원본 inode → 데이터
ls -l에서 파일 타입이 l로 표시된다.lrwxrwxrwx softlink.txt -> original.txt
원본이 사라져 링크가 끊어진 상태를 dangling link라고 한다.
| 구분 | 하드 링크 | 소프트 링크 |
|---|---|---|
| 생성 | ln 원본 링크 | ln -s 대상 링크 |
| inode | 원본과 같음 | 별도의 inode |
| 가리키는 대상 | inode | 파일·디렉터리 경로 |
| 원본 삭제 | 계속 사용 가능 | 링크가 끊어짐 |
| 디렉터리 연결 | 일반적으로 불가 | 가능 |
| 다른 파일시스템 | 불가 | 가능 |
| 파일 타입 | 일반 파일 - | 링크 파일 l |
핵심 차이는 다음과 같아.
하드 링크 = 같은 파일에 이름을 하나 더 붙임
소프트 링크 = 원본 경로를 가리키는 바로가기 파일
df -i파일시스템의 inode 사용량을 확인한다.
| 항목 | 의미 |
|---|---|
Inodes | 전체 inode 개수 |
IUsed | 사용 중인 inode |
IFree | 남은 inode |
IUse% | inode 사용률 |
디스크 용량이 남아 있어도 작은 파일을 너무 많이 만들면 inode를 모두 사용할 수 있다. 이 경우 새 파일을 만들 수 없으므로 df -h뿐 아니라 df -i도 확인해야 한다.

반면 소프트링크는 inode가 증가함 → 오리지널 지울 때 같이 지워짐

ex) 애플리케이션 배포 버전 전환
/var/www/current -> /var/www/releases/20260710
ex) 명령이나 프로그램 버전 선택
/usr/bin/python -> python3
ex) 긴 경로 단축
ln -s /var/log/my-company/backend-production ~/backend-logs → cd ~/backend-logs
하드링크는
ex) 파일이름이 삭제 되어도 데이터 유지(백업용)
ex) 용량을 차지 안하는 백업용
Signal은 리눅스에서 프로세스에 특정 동작을 요청하는 알림 방식.
프로세스 간 통신(IPC)의 한 형태로, 프로세스를 종료하거나 중단시키고 특정 이벤트에 반응하게 할 때 사용한다. 직접 kill 명령으로 보낼 수도 있고, Ctrl + C처럼 키보드 입력이나 오류에 의해 자동으로 발생할 수도 있다.
기본 형태:
kill -시그널 PID
kill -15 1234
PID가 1234인 프로세스에 SIGTERM을 보낸다.
SIGTERM — 15번프로세스에 정상적으로 종료해 달라고 요청한다.
kill-15 1234
kill 1234
또는 번호를 생략하면 기본적으로 SIGTERM이 전달된다.
프로세스는 종료 전에 다음 작업을 할 수 있다.
따라서 프로세스를 종료할 때는 일반적으로 SIGTERM을 먼저 사용한다.
SIGKILL — 9번프로세스를 즉시 강제 종료한다.
kill -9 1234
SIGTERM으로 먼저 종료 시도
→ 종료되지 않을 때 SIGKILL 사용
프로세스가 이 신호를 무시하거나 처리할 수 없기 때문에 확실하게 종료되지만, 정리 작업을 수행하지 못할 수 있다.
SIGINT — 2번현재 터미널에서 실행 중인 프로세스를 중단할 때 사용한다.
Ctrl + C
tail-f app.log
를 누르면 포그라운드 프로세스에 SIGINT가 전달된다.
실행 중 Ctrl + C를 누르면 종료된다.
kill-l
kill-SIGTERM 1234 kill -SIGKILL1234
지원되는 Signal의 번호와 이름을 확인할 수 있다.
Signal 이름으로도 보낼 수 있다.
프로세스 PID 확인:
ps aux |grep'[n]ginx'
정상 종료 요청:
kill -15 PID
종료됐는지 확인:
ps-p PID
계속 남아 있다면 마지막 수단으로:
kill-9 PID
Wildcard는 명령줄에서 여러 파일 이름을 패턴으로 한꺼번에 선택하는 문자
예를 들어 모든 .txt 파일을 확인하려면:

ls *.txt
여기서 *.txt는 셸이 실제 파일 이름 목록으로 바꾼 뒤 ls에 전달한다.
*.txt
.txt로 끝나는 모든 파일과 일치한다.
예:
a.txt
report.txt
linux_note.txt
활용:
cp *.jpg /backup/
현재 폴더의 모든 JPG 파일을 복사한다.
rm temp*.log
temp로 시작하고 .log로 끝나는 모든 파일을 삭제한다.
? — 정확히 한 문자?.txt
파일 이름 본문이 정확히 한 글자인 파일과 일치한다.
a.txt
1.txt
x.txt
ab.txt
test.txt
자료에서는 이를 “세 글자 파일명”이라고 표현했지만, 실제로는 .txt 앞의 이름 부분이 한 글자라는 의미야.
[] — 괄호 안 문자 중 하나file[123].txt
다음 파일과 일치한다.
file1.txt
file2.txt
file3.txt
범위도 지정할 수 있다.
file[a-c].txt
일치:
filea.txt
fileb.txt
filec.txt
[!...] 또는 [^...] — 특정 문자를 제외file[!123].txt
file 뒤의 한 글자가 1, 2, 3이 아닌 파일과 일치한다.
예:
file4.txt
filea.txt
filex.txt
환경에 따라 [!123] 형태가 더 일반적으로 사용된다.
ls *.txt
cp *.jpg /path/to/destination/
rm temp*.log
삭제 명령에서는 먼저 확인하는 것이 안전하다.
ls temp*.log
확인 후:
rm temp*.log
test로 시작하는 Python 파일 확인ls test*.py
ls [A-Z]*
| 구분 | 핵심 역할 |
|---|---|
| Signal | 프로세스에 종료·중단 등의 알림 전달 |
SIGTERM(15) | 정상 종료 요청 |
SIGKILL(9) | 즉시 강제 종료 |
SIGINT(2) | Ctrl + C로 중단 |
* | 0개 이상의 문자 |
? | 정확히 한 문자 |
[abc] | 괄호 안 문자 중 하나 |
[!abc] | 괄호 안 문자를 제외 |
핵심은 Signal은 프로세스를 제어하는 기능이고, Wildcard는 파일 이름을 패턴으로 선택하는 기능
du란?du는 파일이나 디렉터리가 실제로 차지하는 디스크 용량을 확인하는 명령어.
du [옵션] [파일 또는 디렉터리]
경로를 지정하지 않으면 현재 디렉터리를 기준으로 하며, 기본적으로 하위 디렉터리까지 재귀적으로 확인한다.
du = 어떤 파일·폴더가 용량을 얼마나 차지하는지 확인
du 주요 옵션
-h
용량을 KB, MB, GB처럼 읽기 쉬운 단위로 출력
-s
하위 항목을 각각 출력하지 않고 전체 합계만 출력
-a
디렉터리뿐 아니라 일반 파일의 용량도 함께 출력
--max-depth=N
지정한 깊이까지만 하위 디렉터리를 출력
du-sh
-s: 전체 합계만 출력
-h: 읽기 쉬운 단위로 출력
125M
현재 디렉터리가 전체적으로 약 125MB를 사용한다는 뜻.
du-ah
-a: 일반 파일까지 모두 출력
-h: KB, MB, GB 단위로 출력
파일이 많으면 출력 결과도 매우 길어질 수 있음.
du-h--max-depth=1
현재 디렉터리와 바로 아래 1단계 디렉터리의 용량만 출력
더 깊은 하위 디렉터리는 개별적으로 출력하지 않음
20M ./logs
300M ./node_modules
50M ./src
371M .
마지막 .은 현재 디렉터리 전체 용량.
du-h--max-depth=2 /path/to/directory
/path/to/directory를 기준으로
두 단계 아래의 하위 디렉터리까지 용량을 출력
전체 루트 디렉터리의 1단계 용량을 확인하려면:
sudo du-h--max-depth=1 /
권한이 없는 디렉터리가 있을 수 있으므로 일반적으로 sudo가 필요할 수 있음.
du-h--max-depth=1 |sort-hr
du -h --max-depth=1
→ 현재 위치의 디렉터리별 용량 확인
sort -hr
→ 사람이 읽는 용량 단위를 기준으로 큰 순서대로 정렬
상위 10개만 확인하려면:
du-h--max-depth=1 |sort-hr | head-n10
df 명령어df란?df는 현재 마운트된 파일시스템의 전체 용량, 사용량, 남은 용량을 확인하는 명령어야.
df [옵션]
df = 디스크나 파일시스템 전체에 공간이 얼마나 남았는지 확인
df-h
-h
용량을 GB, MB, KB 단위로 읽기 쉽게 출력
예상 출력:
Filesystem Size Used Avail Use% Mounted on
overlay 59G 40G 16G 72% /
tmpfs 64M 0 64M 0% /dev
df 출력 항목
Filesystem
파일시스템 또는 장치 이름
Size
파일시스템의 전체 용량
Used
현재 사용 중인 용량
Avail
사용 가능한 남은 용량
Use%
전체 공간 중 사용된 비율
Mounted on
해당 파일시스템이 연결된 디렉터리
예를 들어:
overlay 59G 40G 16G 72% /
의미는 다음과 같아.
전체 용량: 59GB
사용 중: 40GB
남은 용량: 16GB
사용률: 72%
마운트 위치: /
df-hT
-h
읽기 쉬운 단위로 출력
-T
파일시스템 종류도 함께 출력
예:
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 ext4 50G 20G 28G 42% /
tmpfs tmpfs 2G 0 2G 0% /dev/shm
df-h--total
모든 파일시스템의 출력 마지막에 전체 합계를 추가한다.
--total
출력된 파일시스템 전체의 용량과 사용량 합계를 표시
du와 df 차이| 명령어 | 확인 대상 | 주요 질문 |
|---|---|---|
du | 파일·디렉터리 | 어떤 폴더가 용량을 많이 차지하지? |
df | 파일시스템·디스크 | 디스크 전체에 공간이 얼마나 남았지? |
du
→ 파일과 디렉터리의 실제 사용량 분석
df
→ 파일시스템 전체의 사용량과 여유 공간 확인
# 1. 디스크 전체 사용률 확인
df-h# 2. 사용률이 높은 파일시스템의 디렉터리로 이동cd /var# 3. 바로 아래 디렉터리의 용량 확인sudo du-h--max-depth=1# 4. 큰 디렉터리부터 정렬sudo du-h--max-depth=1 |sort-hr# 5. 상위 10개만 확인sudo du-h--max-depth=1 |sort-hr | head-n10
즉, 보통 df로 디스크가 부족한지 먼저 확인하고, du로 어떤 디렉터리가 공간을 많이 사용하는지 찾아가는 방식으로 사용
apt(Advanced Package Tool)는 Ubuntu·Debian 계열 리눅스에서 프로그램을 설치·업데이트·삭제하는 패키지 관리자.
패키지를 설치할 때 필요한 의존성도 함께 처리한다.
Repository
→ 프로그램과 업데이트가 저장된 서버
Package
→ 프로그램 파일, 버전 정보, 설치 스크립트 등을 묶은 단위
Dependency
→ 해당 프로그램 실행에 필요한 다른 패키지
저장소 설정은 주로 다음 경로에 있다.
/etc/apt/sources.list
/etc/apt/sources.list.d/
# 설치 가능한 패키지 목록 최신화
sudo apt update
# 설치된 패키지를 최신 버전으로 업그레이드
sudo apt upgrade
# 패키지 설치
sudo apt install vim
# 패키지 삭제
sudo apt remove vim
# 패키지 검색
apt search editor
# 패키지 상세 정보 확인
apt show vim
update와 upgrade 차이apt update
→ 저장소에서 최신 패키지 목록만 받아옴
→ 프로그램 자체는 업데이트되지 않음
apt upgrade
→ 실제 설치된 프로그램을 최신 버전으로 업데이트
일반적으로 다음 순서로 실행한다.
sudo apt updatesudo apt upgrade
Ubuntu·Debian → apt
Red Hat 계열 → dnf, yum
Arch Linux → pacman
루트 계정으로 안했을 때

관리자 권한이 필요함

uptime은 시스템이 마지막 부팅 이후 얼마나 오래 실행 중인지와 현재 부하 상태를 확인하는 명령어.
uptime

06:00:25
→ 현재 시스템 시간
up 42 days, 9:25
→ 부팅 후 42일 9시간 25분 동안 실행 중
0 users
→ 현재 로그인한 사용자 수
load average: 0.06, 0.02, 0.00
→ 최근 1분, 5분, 15분 평균 시스템 부하
load average는 실행 중이거나 CPU 사용을 기다리는 작업의 평균 개수야
- 서버가 재부팅된 지 얼마나 됐는지 확인
- 현재 시스템 부하가 높은지 확인
- 잦은 재부팅이나 서버 불안정 여부 확인
- 로그인 사용자 수 확인
💡
오래 돌아간 상태일수록 안전한 상태