Linux 디렉토리 용량 확인 명령어

리눅스에서 디스크 및 디렉토리 용량을 확인하는 다양한 명령어입니다. df, du 명령어의 주요 옵션과 활용법을 다룹니다.

1. df 명령어 (디스크 전체 용량)

# 기본 사용 (KB 단위)
df

# 읽기 쉬운 단위 (-h: human readable)
df -h

# 특정 파일시스템만
df -h /home

# 파일시스템 타입 표시
df -T

# inode 사용량
df -i

2. df 출력 설명

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   35G   12G  74% /
/dev/sdb1       100G   60G   35G  63% /data

Size: 전체 용량
Used: 사용 중
Avail: 사용 가능
Use%: 사용률
Mounted on: 마운트 위치

3. du 명령어 (디렉토리 용량)

# 현재 디렉토리 전체 용량
du -sh .

# 하위 디렉토리별 용량
du -h --max-depth=1

# 특정 디렉토리
du -sh /var/log

# 모든 파일 포함
du -ah /home/user

# 용량 큰 순으로 정렬
du -h --max-depth=1 | sort -hr

4. 주요 옵션

옵션dfdu설명
-hOO사람이 읽기 쉬운 단위
-s-O합계만 표시
-aOO모든 항목 표시
-TO-파일시스템 타입
--max-depth-O탐색 깊이 제한

5. 실전 활용

# 용량 큰 디렉토리 TOP 10
du -h /var --max-depth=1 2>/dev/null | sort -hr | head -10

# 100MB 이상 파일 찾기
find / -type f -size +100M -exec ls -lh {} ;

# 30일 이상 된 로그 찾기
find /var/log -name "*.log" -mtime +30

# 빈 디렉토리 찾기
find /home -type d -empty

6. ncdu (시각적 도구)

# 설치
yum install ncdu
apt install ncdu

# 실행
ncdu /home

# 사용법
- 화살표: 탐색
- Enter: 진입
- d: 삭제
- q: 종료

7. 디스크 정리

# 패키지 캐시 정리 (CentOS)
yum clean all

# 패키지 캐시 정리 (Ubuntu)
apt-get clean

# 오래된 저널 로그 정리
journalctl --vacuum-time=7d

# /tmp 정리 (주의)
find /tmp -type f -atime +7 -delete

8. 스크립트 예시

#!/bin/bash
# 디스크 사용률 알림

THRESHOLD=80
USAGE=$(df -h / | awk "NR==2 {print $5}" | tr -d "%")

if [ $USAGE -gt $THRESHOLD ]; then
    echo "경고: 디스크 사용률 ${USAGE}%"
    # 메일 발송 등 추가 작업
fi

자주 사용하는 조합

# 전체 현황 + 대용량 디렉토리
df -h && echo "---" && du -h --max-depth=1 / 2>/dev/null | sort -hr | head -5