리눅스 du 명령어: 서버 디스크 용량 관리의 시작과 끝
리눅스 서버를 관리하다 보면 문득 "도대체 어떤 파일이 내 용량을 다 잡아먹고 있지?"라는 의문이 들 때가 있습니다. df 명령어로 전체 용량은 확인했지만, 정작 어디서 용량이 낭비되고 있는지 알 수 없을 때, 우리가 반드시 사용해야 할 명령어는 바로 du (Disk Usage)입니다.
1. du 명령어란 무엇인가?
du 명령어는 리눅스 및 유닉스 계열 운영체제에서 파일과 디렉터리의 디스크 사용량을 추정하는 명령어입니다. 단순히 용량을 보여주는 것에 그치지 않고, 디렉터리별 용량을 재귀적으로 분석할 수 있어 서버 최적화 시 필수적인 도구입니다.
2. 반드시 기억해야 할 du 핵심 옵션
du 명령어는 다양한 옵션을 제공하지만, 실무에서 가장 많이 사용하는 필수 옵션 4가지만 기억해도 충분합니다.
- -h (human-readable): 용량을 KB, MB, GB 단위로 출력하여 사람이 읽기 쉽게 표시합니다.
- -s (summary): 하위 디렉터리 상세 내용을 제외하고 지정한 경로의 총합만 표시합니다.
- -a (all): 디렉터리뿐만 아니라 모든 파일의 용량을 개별적으로 출력합니다.
- --max-depth=N: 지정한 깊이만큼만 하위 디렉터리를 탐색합니다. (가장 유용한 옵션!)
3. 실전 예제: 용량 범인 찾기
실제 서버 운영 환경에서는 단순히 용량을 보는 것보다, "가장 큰 용량을 차지하는 디렉터리"를 찾는 것이 중요합니다. 다음 명령어를 활용해보세요.
du -sh * | sort -h
위 명령어는 현재 디렉터리의 모든 항목을 용량별로 정렬하여 보여줍니다. 가장 하단에 출력되는 항목이 용량을 가장 많이 차지하는 범인입니다.
4. 요약 및 활용 팁
서버 용량 부족 현상은 갑작스럽게 찾아옵니다. 평소 du 명령어를 활용해 로그 파일이나 임시 파일이 쌓여있는 경로를 주기적으로 체크하는 습관이 필요합니다. 아래 표를 통해 주요 옵션을 빠르게 확인해보세요.
| 옵션 | 설명 | 추천 상황 |
|---|---|---|
| -h | 가독성 있는 단위(KB, MB, GB) | 항상 기본으로 사용 |
| -s | 지정한 경로의 총 합계만 출력 | 특정 폴더 용량만 확인할 때 |
| --max-depth | 탐색할 하위 디렉터리 깊이 설정 | 전체 구조 파악 시 |
| -c | 출력 끝에 총합(Grand Total) 표시 | 전체 용량 합산 시 |