4. 시스템 정보 & 리소스

명령어 설명 예시
top, htop 실시간 프로세스 top, htop (설치 필요)
ps 프로세스 목록 ps aux, ps -ef
df -h  디스크 사용량 df -h
du -sh *  디렉토리 용량  du -sh /home/*
free -h 메모리 사용량  free -h
uptime 부팅 이후 경과 시간 uptime
uname -a  시스템 커널 정보 uname -a
hostname 호스트 이름 확인 hostname

 

top 명령어

top # 현재 시스템의 전체적인 상태를 실시간으로 보여준다.

# 예시
top -u ubuntu # 특정 사용자 프로세스만 보기

주요 화면 정보

상단 요약 정보 :

 uptime, load average (시스템 부하), tasks, CPU memory 사용량

하단 프로세스 목록 :

PID : 프로세스 ID

USER : 사용자

%CPU : CPU 사용률

%MEM : 메모리 사용률

COMMAND : 실행 중인 명령

 

자주 사용하는 단축키

기능
q 종료
k 프로세스 강제 종료 (PID 입력 필요)
P CPU 사용률 순 정력
M 메모리 사용률 순 정렬
h 도움말

 

htop 명령어

sudo apt install htop # Ubuntu/Debian 계열
sudo yum install htop # CentOS/RHEL 계열

htop

장점

- 컬러로 표시되어 가독성 뛰어남

- 마우스 지원 (스크롤, 종료 클릭 가능)

- 직관적인 UI : CPU 코어별 사용량, 메모리/스왑 상태 등을 막대 그래프로 표시

- 실시간 필터 및 검색 기능

 

주요 키보드 기능 

기능
F3 검색
F4 필터링
F5 트리 보기
F6 정렬 기준 선택
F9 프로세스 종료
F10 종료

 

ps -ef (System V 스타일)

ps -ef

# 출력 예시
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 09:00 ?        00:00:02 /sbin/init
ubuntu    1234     1  0 09:05 ?        00:00:00 /usr/bin/python3 app.py

옵션 의미 :

-e : 모든 프로세스를 표시 (-A와 동일)

-f : 풀 포맷(full-format)으로 상세 정보 출력

각 칼럼 의미:

UID : 실행한 사용자

PID : 프로세스 ID

PPID : 부모 프로세스 ID

C :CPU 사용율

STIME : 프로세스 시작 시간

TTY : 터미널

TIME : 누적 CPU 시간

CMD : 실행된 명령어

 

ps aux (BSD 스타일)

ps aux

# 출력 예시
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
ubuntu    1234  0.0  0.2 123456  5678 ?        S    09:05   0:00 /usr/bin/python3 app.py

옵션 의미 :

a : 터미널에 관계없이 모든 사용자 프로세스 표시

u : 사용자 중심(user-oriented) 포맷

x : 터미널이 없는 프로세스도 표시

주요 컬럼:

USER : 사용자 이름

%CPU : CPU 사용률

%MEM : 메모리 사용률

VSZ : 가상 메모리 크기 (KB)

RSS : 실제 메모리 크기 (KB)

STAT : 프로세스 상태 (예: S = 슬립)

START : 시작 시간

TIME : 누적 CPU 시간

COMMAND : 실행된 명령어

 

 

5. 패키지 관리 (Ubuntu/Debian)

명령어 설명 예시
apt update 패키지 목록 갱신 sudo apt update
apt upgrade  설치된 패키지 업데이트 sudo apt upgrade
apt install  패키지 설치 sudo apt install nginx
apt remove 패키지 제거 sudo apt remove nginx

 

6. 네트워크 관련

명령어 설명 예시
ip a  IP 주소 보기 ip a
ping 네트워크 연결 확인 ping google.com
netstat -tuln 열려있는 포트 보기 sudo netstat -tuln
ss 소켓 상태 확인  ss -tuln
curl 웹 요청 테스트  curl ifconfig.me
wget 파일 다운로드  wget http://example.com/file.txt

 

netstat -tuln 또는 ss -tuln 옵션 해석

옵션 의미
-t TCP 포로토콜만 보기 (tcp)
-u UDP 프로토콜만 보기 (udp)
-l Listening 중인 소켓만 보기 (서버 역할 포트)
-n DNS 변환 없이 숫자로 출력 (빠르고 정확하게)

즉, Listening 상태인 TCP/UDP 포트를 숫자 IP와 포트 형식으로 보여준다.

netstat -tuln

ss -tuln

# 출력 예시
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
udp        0      0 0.0.0.0:68              0.0.0.0:*

 

 

7. 압축 & 백업

명령어 설명 예시
tar 압축/해제 tar -czvf backup.tar.gz folder/,
tar -xzcf bacokup.tar.gz
zip, unzip 압축 zip -r archive.zip folder/, unzip archive.zip

 

tar 명령어

tar [옵션] [파일명] [대상 파일/디렉터리]

# 디렉터리를 tar.gz로 압축
tar -czvf archive.tar.gz myfolder/

# tar.gz 압축 해제
tar -xzvf archive.tar.gz

# 다른 디렉토리에 압축 해제
tar -xzvf archive.tar.gz -C /target/path/

 

주요 옵션

옵션 의미
-c 새 tar 파일 생성 (create)
-x 압축 해제 (extract)
-v 처리 과정을 출력 (verbose)
-f 파일 이름 지정 (file)
-z  gzip으로 압축 (.tar.gz)
-j bzip2 압축 사용 (.tar.bz2)
-J xz 압축 사용 (.tar.xz)
-C 압축 해제 위치 지정 (directory)

 

zip,unzip 명령어

zip [옵션] [압축할_파일명.zip] [대상_파일들]

# 디렉터리 압축 (재귀적)
zip -r archive.zip myfolder/

# 암호 설정하여 압축
zip -re secure.zip myfolder/

unzip [옵션] [파일명.zip]

# 현재 위치에 압축 해제
unzip archive.zip

# 지정한 폴더에 압축 해제
unzip archive.zip -d ./target-folder/

# 목록만 확인
unzip -l archive.zip

 

주요 옵션

옵션 의미
-d [경로] 특정 디렉토리에 압축 해제
-l 압축 파일 안의 목록 보기
-q 출력 최소화
-o 기존 파일 덮어쓰기 허용

 

8. 기타 유용한 명령어

명령어 설명 예시
history 명령어 기록 history
alias 명령어 별칭 alias ll='ls -alF'
man 매뉴얼 페이지  man ls
which 실행 파일 경로 which bash
echo 문자열 출력 echo "Hello"
date 날짜 출력 date +%Y-%m-%d

 

+ Recent posts