리눅스 명령어 du 사용법 및 7가지 옵션

리눅스 명령어 du를 사용하면 파일이나 디렉터리의 용량을 쉽게 확인할 수 있습니다. du는 “disk usage”의 약자로, 디스크 사용량을 확인할 수 있게 해주는 매우 유용한 도구입니다. 이번 포스팅에서는 du 명령어의 기본적인 사용법부터 다양한 옵션들을 활용하는 방법까지 하나씩 살펴보겠습니다.

리눅스 명령어 du란?

du 명령어는 리눅스에서 파일이나 디렉터리가 차지하는 디스크 용량을 확인할 수 있는 명령어입니다. 기본적으로 디렉터리의 크기를 재귀적으로 계산하여 출력하며, 파일의 크기 또한 확인할 수 있습니다.

du [옵션] [파일 또는 디렉터리]
ShellScript

위와 같은 형식으로 명령어를 사용할 수 있습니다. 여기서 [옵션]은 사용자가 원하는 출력 형식이나 계산 방식을 지정할 수 있으며, [파일 또는 디렉터리]는 용량을 확인하고자 하는 대상입니다. 기본적으로 du 명령어는 현재 디렉터리 내 모든 파일과 하위 디렉터리의 용량을 출력합니다.

du 명령어의 기본 사용법

가장 기본적인 du 명령어 사용법은 단순히 명령어만 입력하는 것입니다.

du
ShellScript

이 명령어를 입력하면 아래와 같이 현재 디렉터리 내의 모든 파일과 디렉터리의 크기를 바이트 단위로 출력합니다.

그림 1. 리눅스 명령어 du: 사용 결과
그림 1. 리눅스 명령어 du: 사용 결과

du 명령어의 주요 옵션

du 명령어에는 여러 가지 유용한 옵션이 있습니다. 몇 가지 자주 사용하는 옵션들을 소개하겠습니다.

-h 옵션: 사람이 읽기 쉽게 표시

그러나 이렇게 출력된 결과는 직관적이지 않을 수 있습니다. 이럴 때는 -h 옵션을 사용하여 사람이 읽기 쉬운 형식으로 출력할 수 있습니다.

du -h
ShellScript

-h 옵션은 “human-readable”의 약자로, 크기를 KB(Kilobytes), MB(Megabytes), GB(Gigabytes) 등으로 변환하여 보여줍니다. 예를 들어, 1024바이트는 1KB로, 1048576바이트는 1MB로 표시됩니다.

그림 2. 리눅스 명령어 du: -h 옵션으로 읽기 쉽게 표시
그림 2. 리눅스 명령어 du: -h 옵션으로 읽기 쉽게 표시

-s 옵션: 총합만 표시

디렉터리 내의 파일이나 하위 디렉터리별 용량이 아닌, 특정 디렉터리 전체의 용량만 알고 싶을 때는 -s 옵션을 사용합니다.

du -sh
ShellScript

위 명령어는 현재 디렉터리의 전체 용량을 사람이 읽기 쉬운 형식으로 표시합니다. -s 옵션이 없으면 모든 하위 디렉터리의 용량이 개별적으로 표시되므로, 특정 디렉터리의 총 용량을 알고 싶을 때 매우 유용합니다.

그림 3. 리눅스 명령어 du: -s 옵션으로 디렉터리의 총 용량 표시
그림 3. 리눅스 명령어 du: -s 옵션으로 디렉터리의 총 용량 표시

-a 옵션: 모든 파일과 디렉터리 표시

기본적으로 du 명령어는 디렉터리의 크기만 출력합니다. 하지만 디렉터리 내의 개별 파일 크기도 알고 싶다면 -a 옵션을 사용하면 됩니다.

du -ah
ShellScript

-a 옵션은 디렉터리뿐만 아니라 아래 그림과 같이 모든 파일의 크기도 출력합니다.

그림 4. 리눅스 명령어 du: -a 옵션으로 파일과 디렉터리 용량 모두 표시
그림 4. 리눅스 명령어 du: -a 옵션으로 파일과 디렉터리 용량 모두 표시

–max-depth 옵션: 출력 깊이 제한

디렉터리 구조가 깊을 때, 모든 하위 디렉터리의 용량을 다 보고 싶지 않을 수 있습니다. 이럴 때 --max-depth 옵션을 사용하여 출력할 깊이를 제한할 수 있습니다.

du -h --max-depth=1
ShellScript

위 명령어는 현재 디렉터리와 바로 하위 디렉터리의 용량만 출력합니다. --max-depth 옵션의 값으로 1을 주었기 때문에, 바로 아래 단계의 디렉터리들만 계산됩니다. 더 깊이 있는 디렉터리의 용량은 출력되지 않습니다.

아래 그림에서는 –max-depth 값으로 2를 할당했습니다. 보시는 바와 같이 하위 2단계 디렉터리까지 용량을 표시하는 것을 알 수 있습니다.

그림 5. 리눅스 명령어 du: --max-depth 옵션으로 디렉터리 깊이 제한 설정
그림 5. 리눅스 명령어 du: –max-depth 옵션으로 디렉터리 깊이 제한 설정

-c 옵션: 총합 출력

du 명령어로 여러 디렉터리의 용량을 확인할 때, 그 총합도 알고 싶다면 -c 옵션을 사용할 수 있습니다.

du -ch
ShellScript

위 명령어는 각 디렉터리와 파일의 용량을 출력한 후, 마지막 줄에 총합을 추가로 출력합니다.

그림 6. 리눅스 명령어 du: -c 옵션으로 총합을 별도로 출력
그림 6. 리눅스 명령어 du: -c 옵션으로 총합을 별도로 출력

du 명령어 사용 시 주의사항

du 명령어는 디스크 사용량을 확인하는 데 유용하지만, 몇 가지 주의할 점이 있습니다.

심볼릭 링크의 용량 표시: -L 옵션

우선, du 명령어는 심볼릭 링크(특정 파일이나 디렉터리의 위치를 참조하는 특수한 파일)를 따라가지 않습니다. 즉, 심볼릭 링크의 용량은 실제 파일의 크기로 계산되지 않습니다. 이를 방지하려면 -L 옵션을 사용하여 심볼릭 링크를 따라가게 할 수 있습니다.

그림 7. 리눅스 명령어 du: -L 옵션으로 심볼릭 링크를 따라가서 용량 확인
그림 7. 리눅스 명령어 du: -L 옵션으로 심볼릭 링크를 따라가서 용량 확인

권한 문제: sudo 명령어

du 명령어는 사용자가 읽기 권한이 있는 파일과 디렉터리만 계산합니다. 따라서 권한이 없는 파일이나 디렉터리는 계산되지 않으므로, 예상치 못한 결과가 나올 수 있습니다. 시스템 전체의 디스크 사용량을 확인하려면 sudo 명령어를 함께 사용하는 것이 좋습니다.

sudo du -sh /var
ShellScript

위 명령어는 /var 디렉터리의 전체 용량을 출력하며, 권한이 없는 디렉터리도 포함합니다.

유용한 활용 방법: –time 옵션

du 명령어는 단순히 디스크 사용량을 확인하는 것 외에도 여러 가지 활용 방법이 있습니다. 예를 들어, 서버에서 디스크 공간이 부족할 때, du 명령어로 큰 파일이나 디렉터리를 찾아내어 정리할 수 있습니다. 또한, 특정 디렉터리의 용량 변화를 모니터링할 때도 유용하게 사용될 수 있습니다.

du -h --time
ShellScript

위 명령어는 각 파일이나 디렉터리의 용량과 함께 마지막 수정 시간을 표시합니다. 이를 통해 최근에 용량이 급격히 증가한 파일이나 디렉터리를 찾아낼 수 있습니다.

그림 8. 리눅스 명령어 du: --time 옵션으로 마지막 수정 시간 표시
그림 8. 리눅스 명령어 du: –time 옵션으로 마지막 수정 시간 표시

정리

이번 포스팅에서는 리눅스에서 du 명령어를 사용하는 방법과 다양한 옵션들을 소개해 드렸습니다. du 명령어는 디스크 사용량을 확인하고 관리하는 데 있어 매우 유용한 도구입니다. 기본적인 사용법부터 고급 옵션까지 익혀두시면, 서버 관리나 시스템 모니터링에서 큰 도움이 될 것입니다. 디스크 용량 관리는 시스템의 안정성과 성능에 직결되는 중요한 작업이므로, du 명령어를 잘 활용하시기 바랍니다.

참고자료

관련 포스트

Leave a Comment