du — 디스크 사용량 확인

Linux / 파일 및 디스크 관리 / du.html

파일 및 디스크 관리원문등록 2026-10-17

💬 "du 명령어"

  • 개념: 디스크 사용량(Disk Usage)을 확인하는 리눅스 필수 명령어입니다. 서버 용량이 가득 찼을 때 범인 폴더와 파일을 찾아내는 데 사용합니다.
  • 출력 구조: 기본 명령은 모든 하위 내역을 KB 단위로 복잡하게 출력하므로 가독성이 떨어집니다.
  • 실무 권장 출력: du -sh *를 치면 45M, 2.3G처럼 용량 단위가 보기 좋게 요약 출력됩니다.
  • 왼쪽 열: 파일이나 폴더가 실제로 차지하는 총 용량이 표기됩니다.
  • 오른쪽 열: 해당 용량을 차지하고 있는 대상의 이름이 출력됩니다.

필수 명령어 조합 3가지

  • du -sh — 현재 폴더의 총 합계 용량만 딱 한 줄로 요약 확인
  • du -sh * — 현재 폴더 바로 아래에 있는 항목별 용량을 각각 확인
  • du -sh * | sort -h — 용량이 가장 큰 폴더를 맨 아래로 정렬해 출력

💬 "응용하는 방법도 하나 알려줘"

시나리오: 로그 파일이 GB 단위로 폭발해 서버 디스크가 가득 찬 상황 해결법입니다.

1단계: 범인 폴더 추적

로그 디렉토리로 이동해 용량이 큰 폴더를 크기순으로 정렬합니다.

cd /var/log && du -sh * | sort -h

2단계: 거대 파일 타겟팅

범인 폴더로 진입 후, 파일 단위까지 뒤져 1GB 넘는 파일만 골라냅니다.

du -ah * | grep -E '^[0-9.]+[G]'

3단계: 안전한 용량 비우기 (핵심)

실행 중인 로그 파일을 rm으로 지우면 프로세스가 붙잡고 있어 디스크 용량이 반환되지 않습니다. 아래 응용 명령어로 파일 내용을 0바이트로 초기화해 즉시 용량을 확보합니다.

cat /dev/null > user-activity.log

실제 실행 화면

이 PC에서 실제 폴더를 만들어 du -sh * | sort -h를 실행한 결과입니다. 아래로 갈수록 용량이 큰 항목이며, 맨 아래 logs가 2.3G로 가장 큽니다.

du -sh * | sort -h 실행 결과: 2.4M src부터 2.3G logs까지 용량 순 정렬

실제 운영 중인 서버

그 logs 폴더 안에서 1GB를 넘는 파일만 골라낸 결과입니다. user-activity.log가 1.9G를 차지하고 있습니다.

du -ah . | grep -E '^[0-9.]+[G]' 실행 결과: 1.9G user-activity.log

이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.