SW/리눅스

Linux : Du 명령어, 예제, 사용 방법

얇은생각 2021. 11. 22. 07:30
반응형

"디스크 사용량"의 줄임말인 du 명령은 지정된 파일 또는 디렉토리가 사용하는 예상 디스크 공간을 보고합니다. 이 기능은 많은 디스크 공간을 차지하는 파일 및 디렉토리를 찾는 데 실질적으로 유용합니다.

 

 

Linux : Du 명령어, 예제, 사용 방법

 

 

du 명령어를 사용하는 방법

du 명령에 대한 일반적인 구문은 다음과 같습니다.

du [OPTIONS]... FILE...

 

 

지정된 FILE이 디렉토리인 경우 du는 해당 디렉토리에 있는 각 파일 및 하위 디렉토리의 디스크 사용량을 요약합니다. FILE을 지정하지 않으면 du는 현재 작업 디렉토리의 디스크 사용량을 보고합니다.

옵션 없이 실행되면 du는 지정된 파일 또는 디렉토리와 각 하위 디렉토리의 디스크 사용량을 바이트 단위로 표시합니다.

du ~/Documents

 

 

여러 파일과 디렉토리를 du 명령에 인수로 전달할 수도 있습니다.

du ~/Documents ~/Pictures ~/.zshrc

 

 

권한이 없는 파일 또는 디렉토리에서 du를 실행하면 "du: can not read directory"와 같은 항목이 나타납니다. 이 상황에서는 명령 앞에 sudo를 붙여야 합니다.

du는 다양한 옵션이 있습니다. 가장 자주 사용하는 제품만 간략히 소개하겠습니다.

-a 옵션은 du에게 디렉터리 내 각 파일의 디스크 공간 사용량을 보고하도록 알려줍니다.

du -a ~/Documents

 

 

일반적으로 지정된 디렉토리가 사용하는 공간만 사람이 읽을 수 있는 형식으로 표시하려고 합니다. 이렇게 하려면 -h 옵션을 사용합니다.

예를 들어 /var/lib 및 모든 하위 디렉토리의 총 크기를 가져오려면 다음 명령을 실행합니다.

sudo du -h /var

# ...
# 4.0K	/var/lib/apt/mirrors/partial
# 8.0K	/var/lib/apt/mirrors
# 205M	/var/lib/apt
# 2.9G	/var/lib/

 

 

/var/lib 디렉터리에 있는 대부분의 파일 및 디렉토리는 루트 사용자가 소유하고 일반 사용자가 읽을 수 없기 때문에 sudo를 사용합니다. 출력은 다음과 같습니다.

하위 디렉터리에 대해서는 보고하지 않고 지정된 디렉터리의 전체 크기만 보고하려면 -s 옵션을 사용합니다.

sudo du -sh /var

# 2.9G	/var

 

 

-c 옵션은 총계를 보고하도록 du에게 알려줍니다. 이 기능은 두 개 이상의 디렉터리를 조합한 크기를 가져올 때 유용합니다.

sudo du -csh /var/log /var/lib

# 1.2G	/var/log
# 2.9G	/var/lib
# 4.1G	total

 

 

n-수준 하위 디렉토리의 디스크 사용량을 표시하려면 --max-depth 옵션을 사용하고 하위 디렉토리 수준을 지정합니다. 예를 들어 첫 번째 수준의 디렉터리에 대한 보고서를 가져오려면 다음을 사용합니다.

sudo du -h --max-depth=1 /var/lib

# ...
# 544K	/var/lib/usbutils
# 4.0K	/var/lib/acpi-support
# 205M	/var/lib/apt
# 2.9G	/var/lib

 

 

du 유틸리티의 기본 동작은 디렉터리 또는 파일에서 사용하는 디스크 공간을 다시 만드는 것입니다. 파일의 겉보기 크기를 찾으려면 --apparent-size 스위치를 사용합니다. 파일의 "피상 크기"는 파일에 실제로 있는 데이터의 양입니다.

sudo du -sh --apparent-size /var/lib

# 2.9G	/var/lib

 

 

du는 또한 쉘 패턴을 사용할 수 있게 해줍니다. 예를 들어, 홈 디렉토리에서 "실행"으로 시작하는 모든 디렉토리의 크기를 가져오려면 다음을 실행합니다.

sudo du -csh ~/Do*

# 102M	/home/linuxize/Documents
# 358M	/home/linuxize/Downloads
# 460M	total

 

 

 

다른 명령과 함께 du를 사용

du 명령은 파이프가 있는 다른 명령과 결합할 수 있습니다.

예를 들어 /var 디렉터리 내에서 가장 큰 5개의 디렉터리를 인쇄하려면 sort 명령으로 출력을 전달하여 디렉터리를 크기별로 정렬한 다음 상위 5개의 디렉터리만 인쇄하는 head 명령으로 출력을 파이프링합니다.

sudo du -h /var/ | sort -rh | head -5

# 4.6G	/var/
# 2.9G	/var/lib
# 2.6G	/var/lib/snapd
# 1.7G	/var/lib/snapd/snaps
# 1.2G	/var/log/journal/af8ce1d394b844fea8c19ea5c6a9bd09

 

 

이제 du 명령어를 사용하는 방법을 잘 이해해야 합니다.

마운트된 파일 시스템의 디스크 사용량에 대한 정보를 출력하는 df와 달리 du 명령은 지정된 파일 또는 디렉토리가 사용하는 디스크 공간의 예상치를 제공합니다.

터미널에 mandu를 입력하여 사용 가능한 모든 du 명령 옵션을 볼 수 있습니다.

반응형