주요 옵션 및 파라미터 설명
du (disk usage) 명령어는 파일과 디렉터리의 디스크 사용량을 확인할 수 있는 리눅스 도구입니다. 다양한 옵션을 통해 출력 형식, 계산 범위, 단위 등을 세밀하게 제어할 수 있습니다.
-a, --all 모든 파일의 용량을 출력합니다. 기본적으로는 디렉터리의 총합만 표시됩니다.
--apparent-size 실제 디스크 할당량이 아닌 논리적 크기를 표시합니다. 희소 파일(sparse file) 등에서 차이가 발생할 수 있습니다.
-B, --block-size=SIZE 지정된 크기의 블록 단위로 출력합니다 (예: 1K, 1M).
-h, --human-readable 사람이 쉽게 읽을 수 있는 형식으로 출력 (예: 2K, 300M, 2G).
--si 1000 기반(십진수)으로 단위를 계산하여 출력 (예: 1KB = 1000바이트).
-s, --summarize 각 인수에 대해 전체 합계만 출력합니다.
-c, --total 마지막에 총합을 추가로 표시합니다.
--max-depth=N 디렉터리 탐색 깊이를 N으로 제한합니다. --max-depth=0은 -s와 동일합니다.
-x, --one-file-system 다른 파일 시스템은 포함하지 않습니다.
-L, --dereference 심볼릭 링크가 가리키는 실제 파일의 크기를 계산합니다.
-P, --no-dereference 심볼릭 링크 자체를 평가하지 않고 무시합니다 (기본 동작).
--exclude=PATTERN 지정된 패턴과 일치하는 파일이나 디렉터리를 제외합니다.
--time 파일 및 디렉터리의 최종 수정 시간을 함께 표시합니다.
--time=atime 접근 시간(access time) 기준으로 시간을 표시합니다.
실제 사용 예시
현재 디렉터리 내 모든 항목의 크기 확인 및 정렬
현재 위치의 모든 파일과 서브디렉터리 크기를 사람이 읽기 쉬운 형태로 보여주고, 내림차순으로 정렬합니다.
du -sh * | sort -hr
특정 디렉터리의 총 사용량 조회
예를 들어 cache라는 이름의 디렉터리 전체 크기를 확인하고자 할 때 다음과 같이 사용합니다.
du -sh cache/
깊이 기반 분석
루트 디렉터리부터 두 단계 깊이까지의 사용량을 계층적으로 확인:
du --max-depth=2 -h /
특정 조건 제외 후 분석
임시 파일(.tmp 확장자)을 제외하고 디스크 사용량을 측정:
du -h --exclude="*.tmp"
총합 정보 포함 출력
여러 디렉터리를 대상으로 하고, 전체 합계도 함께 보고 싶을 경우:
du -ch project1/ project2/