리눅스 명령어 du
를 사용하면 파일이나 디렉터리의 용량을 쉽게 확인할 수 있습니다. du
는 “disk usage”의 약자로, 디스크 사용량을 확인할 수 있게 해주는 매우 유용한 도구입니다. 이번 포스팅에서는 du
명령어의 기본적인 사용법부터 다양한 옵션들을 활용하는 방법까지 하나씩 살펴보겠습니다.
목차
리눅스 명령어 du란?
du
명령어는 리눅스에서 파일이나 디렉터리가 차지하는 디스크 용량을 확인할 수 있는 명령어입니다. 기본적으로 디렉터리의 크기를 재귀적으로 계산하여 출력하며, 파일의 크기 또한 확인할 수 있습니다.
du [옵션] [파일 또는 디렉터리]
ShellScript위와 같은 형식으로 명령어를 사용할 수 있습니다. 여기서 [옵션]
은 사용자가 원하는 출력 형식이나 계산 방식을 지정할 수 있으며, [파일 또는 디렉터리]
는 용량을 확인하고자 하는 대상입니다. 기본적으로 du
명령어는 현재 디렉터리 내 모든 파일과 하위 디렉터리의 용량을 출력합니다.
du 명령어의 기본 사용법
가장 기본적인 du
명령어 사용법은 단순히 명령어만 입력하는 것입니다.
du
ShellScript이 명령어를 입력하면 아래와 같이 현재 디렉터리 내의 모든 파일과 디렉터리의 크기를 바이트 단위로 출력합니다.
du 명령어의 주요 옵션
du
명령어에는 여러 가지 유용한 옵션이 있습니다. 몇 가지 자주 사용하는 옵션들을 소개하겠습니다.
-h 옵션: 사람이 읽기 쉽게 표시
그러나 이렇게 출력된 결과는 직관적이지 않을 수 있습니다. 이럴 때는 -h
옵션을 사용하여 사람이 읽기 쉬운 형식으로 출력할 수 있습니다.
du -h
ShellScript-h
옵션은 “human-readable”의 약자로, 크기를 KB(Kilobytes), MB(Megabytes), GB(Gigabytes) 등으로 변환하여 보여줍니다. 예를 들어, 1024바이트는 1KB로, 1048576바이트는 1MB로 표시됩니다.
-s 옵션: 총합만 표시
디렉터리 내의 파일이나 하위 디렉터리별 용량이 아닌, 특정 디렉터리 전체의 용량만 알고 싶을 때는 -s
옵션을 사용합니다.
du -sh
ShellScript위 명령어는 현재 디렉터리의 전체 용량을 사람이 읽기 쉬운 형식으로 표시합니다. -s
옵션이 없으면 모든 하위 디렉터리의 용량이 개별적으로 표시되므로, 특정 디렉터리의 총 용량을 알고 싶을 때 매우 유용합니다.
-a 옵션: 모든 파일과 디렉터리 표시
기본적으로 du
명령어는 디렉터리의 크기만 출력합니다. 하지만 디렉터리 내의 개별 파일 크기도 알고 싶다면 -a
옵션을 사용하면 됩니다.
du -ah
ShellScript-a
옵션은 디렉터리뿐만 아니라 아래 그림과 같이 모든 파일의 크기도 출력합니다.
–max-depth 옵션: 출력 깊이 제한
디렉터리 구조가 깊을 때, 모든 하위 디렉터리의 용량을 다 보고 싶지 않을 수 있습니다. 이럴 때 --max-depth
옵션을 사용하여 출력할 깊이를 제한할 수 있습니다.
du -h --max-depth=1
ShellScript위 명령어는 현재 디렉터리와 바로 하위 디렉터리의 용량만 출력합니다. --max-depth
옵션의 값으로 1을 주었기 때문에, 바로 아래 단계의 디렉터리들만 계산됩니다. 더 깊이 있는 디렉터리의 용량은 출력되지 않습니다.
아래 그림에서는 –max-depth 값으로 2를 할당했습니다. 보시는 바와 같이 하위 2단계 디렉터리까지 용량을 표시하는 것을 알 수 있습니다.
-c 옵션: 총합 출력
du
명령어로 여러 디렉터리의 용량을 확인할 때, 그 총합도 알고 싶다면 -c
옵션을 사용할 수 있습니다.
du -ch
ShellScript위 명령어는 각 디렉터리와 파일의 용량을 출력한 후, 마지막 줄에 총합을 추가로 출력합니다.
du 명령어 사용 시 주의사항
du
명령어는 디스크 사용량을 확인하는 데 유용하지만, 몇 가지 주의할 점이 있습니다.
심볼릭 링크의 용량 표시: -L 옵션
우선, du
명령어는 심볼릭 링크(특정 파일이나 디렉터리의 위치를 참조하는 특수한 파일)를 따라가지 않습니다. 즉, 심볼릭 링크의 용량은 실제 파일의 크기로 계산되지 않습니다. 이를 방지하려면 -L
옵션을 사용하여 심볼릭 링크를 따라가게 할 수 있습니다.
권한 문제: sudo 명령어
du
명령어는 사용자가 읽기 권한이 있는 파일과 디렉터리만 계산합니다. 따라서 권한이 없는 파일이나 디렉터리는 계산되지 않으므로, 예상치 못한 결과가 나올 수 있습니다. 시스템 전체의 디스크 사용량을 확인하려면 sudo
명령어를 함께 사용하는 것이 좋습니다.
sudo du -sh /var
ShellScript위 명령어는 /var
디렉터리의 전체 용량을 출력하며, 권한이 없는 디렉터리도 포함합니다.
유용한 활용 방법: –time 옵션
du
명령어는 단순히 디스크 사용량을 확인하는 것 외에도 여러 가지 활용 방법이 있습니다. 예를 들어, 서버에서 디스크 공간이 부족할 때, du
명령어로 큰 파일이나 디렉터리를 찾아내어 정리할 수 있습니다. 또한, 특정 디렉터리의 용량 변화를 모니터링할 때도 유용하게 사용될 수 있습니다.
du -h --time
ShellScript위 명령어는 각 파일이나 디렉터리의 용량과 함께 마지막 수정 시간을 표시합니다. 이를 통해 최근에 용량이 급격히 증가한 파일이나 디렉터리를 찾아낼 수 있습니다.
정리
이번 포스팅에서는 리눅스에서 du
명령어를 사용하는 방법과 다양한 옵션들을 소개해 드렸습니다. du
명령어는 디스크 사용량을 확인하고 관리하는 데 있어 매우 유용한 도구입니다. 기본적인 사용법부터 고급 옵션까지 익혀두시면, 서버 관리나 시스템 모니터링에서 큰 도움이 될 것입니다. 디스크 용량 관리는 시스템의 안정성과 성능에 직결되는 중요한 작업이므로, du
명령어를 잘 활용하시기 바랍니다.