# lab04 자주 쓰는 1-liner 모음
# 각 줄을 그대로 복사해서 실행해 보세요.

# ─── 프로세스 정렬 ────────────────────────────────────────────
ps aux --sort=-%mem | awk 'NR<=6{print $2, $4, $11}'        # 메모리 Top 5
ps -eo pid,%cpu,command --sort=-%cpu | head -6              # CPU Top 5
ps -eo pid,user,time,command --sort=-time | head -10        # 누적 CPU Top 10
ps -eo pid,user,%mem,rss,command --sort=-%mem | head        # 메모리 (RSS)
ps aux | awk '$8 ~ /Z/ {print}'                             # 좀비
ps aux | awk '$8 ~ /D/ {print}'                             # I/O 대기 (uninterruptible)

# ─── 포트·소켓 ───────────────────────────────────────────────
sudo ss -tlnp                                               # LISTEN 전부
sudo ss -tlnp '( sport = :80 )'                             # :80 누가 듣나
sudo ss -tn state established | wc -l                       # ESTABLISHED 갯수
sudo ss -tn state time-wait | wc -l                         # TIME_WAIT 갯수
sudo ss -t state established '( dport = :443 or sport = :443 )'
sudo lsof -i TCP:80 -sTCP:LISTEN                            # 80 LISTEN
sudo lsof -i -P -n                                          # 모든 NW 연결 (DNS 안 풀이)

# ─── 파일·디스크 ─────────────────────────────────────────────
sudo du -ah /var/log | sort -rh | head -10                  # 큰 파일 Top 10
sudo du -shx /* 2>/dev/null | sort -hr | head -10           # root 하위 큰 디렉터리
df -h                                                       # 마운트 별 사용량
df -i                                                       # inode 사용량
sudo lsof | grep deleted                                    # 삭제됐는데 잡힌 파일
sudo lsof -p $(pgrep nginx | head -1)                       # PID 가 연 파일 전부
sudo lsof /var/log/syslog                                   # 이 파일 누가 쓰나

# ─── 메모리 ──────────────────────────────────────────────────
free -h
watch -d -n 1 'free -h'                                     # 갱신 + 변경 강조
cat /proc/meminfo | head -10
sudo dmidecode --type 17 | grep -E "Size|Speed"             # DIMM 슬롯

# ─── CPU·load ────────────────────────────────────────────────
uptime
top -bn1 -c | head -15                                      # 배치 1회
vmstat 1 5                                                  # 1초 × 5회
sar -u 5 12                                                 # 5초 12회 = 1분
pidstat -u 1                                                # PID 별 CPU 시계열
pidstat -d 1                                                # PID 별 디스크 I/O 시계열

# ─── 트리·검색 ───────────────────────────────────────────────
pstree -p
pstree -p $(pgrep -d, nginx)
pgrep -a nginx                                              # 이름 → PID + cmd
pgrep -U lab                                                # 사용자 별
pidof nginx

# ─── 디스크 I/O ──────────────────────────────────────────────
iostat -xz 1                                                # 디바이스 별
sudo iotop -ao -d 5                                         # 누적 (10초 관찰)

# ─── 네트워크 트래픽 ────────────────────────────────────────
sudo iftop -i eth0
sudo nethogs

# ─── 로그 분석 ───────────────────────────────────────────────
tail -f /var/log/syslog | grep --line-buffered ERROR
sudo awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10
sudo awk '{print $4}' /var/log/nginx/access.log | cut -c2-15 | sort | uniq -c | tail
