du — 디스크 사용량 확인
Linux / 파일 및 디스크 관리 / du.html
💬 "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로 가장 큽니다.

실제 운영 중인 서버
그 logs 폴더 안에서 1GB를 넘는 파일만 골라낸 결과입니다. user-activity.log가 1.9G를 차지하고 있습니다.
![du -ah . | grep -E '^[0-9.]+[G]' 실행 결과: 1.9G user-activity.log](/assets/du-logs.png)
이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.