Linux에서 디스크 사용량 확인을 위한 du 명령어 활용 가이드

주요 옵션 및 파라미터 설명

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/

태그: linux du command disk usage Shell scripting system monitoring

7월 17일 21:40에 게시됨