Section 5.1: 디렉토리들의 디스크 사용량 조사하기

가끔은 어떤 디렉토리가 얼마나 디스크 용량을 차지하고 있는지를 확인해야 할 필요가 있는데, 이는 특히 사용자가 df -h 명령을 수행한 후 디스크 내의 가용 공간이 얼마 남지 않았다는 것을 확인한 경우 더욱 그러하다.

du:

du 명령어는 FILE 파라미터들에 대한 디스크 사용량 요약 정보를 출력하며, 디렉토리들에 대해서는 재귀적으로 동작한다.

이 명령어는 주로 -sh 옵션과 함께 사용된다:

-s, --summarize 각 인자별로 총 사용량의 합만을 출력한다 -h, --human-readable 크기 정보를 사람이 인식하기 편리한 형태로 출력한다 (예: 1K 234M 2G)

현재 디렉토리 내의 파일들에 대한 디스크 사용량 정보의 요약 정보를 출력하려면 다음과 같이 입력한다:

du -sh *

출력되는 예제는 다음과 같다:

572K Documents 208M Downloads 4,0K Music 724K Pictures 4,0K Public 4,0K Templates 4,0K Videos

아래와 같은 방법으로 숨겨진 파일들도 포함시킬 수 있다:

du -sh .[!.]* *

출력되는 예제는 다음과 같다:

6,3M .atom 4,0K .bash_history 4,0K .bash_logout 8,0K .bashrc 350M .cache 195M .config 12K .dbus 4,0K .dmrc 44K .gconf 60K .gem 520K .gimp-2.8 28K .gnome 4,0K .ICEauthority 8,3M .local 8,0K .nano 404K .nv 36K .pki 4,0K .profile 8,0K .ssh 0 .sudo_as_admin_successful 4,0K .Xauthority 4,0K .xsession-errors 4,0K .xsession-errors.old 572K Documents 208M Downloads 4,0K Music 724K Pictures 4,0K Public 4,0K Templates 4,0K Videos

다음으로, 출력 결과에 전체 총합 정보를 추가하려면 -c 옵션을 기술한다:

du -sch .[!.]* *

출력되는 예제는 다음과 같다:

. . . 4,0K Templates 4,0K Videos 769M total

du 명령어를 루트 디렉토리에서 적절하게 사용하는 것은 때때로 큰 도움이 되는데, 이를 통해 어떤 프로그램/서비스나 혹은 사용자가 디스크 공간을 과도하게 점유하고 있는지를 확인할 수 있기 때문이다. 예를 들어, 웹 혹은 메일 서버에 있어 비정상적으로 낮은 수준의 디스크 공간만이 사용 가능한 경우에는, 메일 서비스로의 스팸 공격이 그 원인일 수 있으며 이는 du 명령어를 통해 문제 파악에 도움을 받을 수 있다.

루트 디렉토리에 대한 디스크 사용량 검사는 다음과 같이 수행한다:

sudo du -sch /.[!.]* /*

출력되는 예제는 다음과 같다:

16K /.VolumeIcon.icns 24K /.VolumeIcon.png 13M /bin 57M /boot 4,0K /cdrom 620K /dev 13M /etc 779M /home 0 /initrd.img 406M /lib 3,9M /lib32 4,0K /lib64 16K /lost+found 4,0K /media 4,0K /mnt 367M /opt du: cannot access '/proc/18221/task/18221/fd/4': No such file or directory du: cannot access '/proc/18221/task/18221/fdinfo/4': No such file or directory du: cannot access '/proc/18221/fd/4': No such file or directory du: cannot access '/proc/18221/fdinfo/4': No such file or directory 0 /proc 20K /root du: cannot access '/run/user/1000/gvfs': Permission denied 9,4M /run 13M /sbin 4,0K /srv 0 /sys 72K /tmp 3,5G /usr 639M /var 0 /vmlinuz 5,8G total

마지막으로, 작은 용량의 결과를 무시하기 위해 크기에 대한 기준치 값을 추가적으로 기술할 수 있다. 아래 명령어는 루트 디렉토리로부터 최 종단 디렉토리들에 이르기까지 파일시스템상의 크기가 1GB 이상인 디렉토리들만 출력해 줄 것이다:

sudo du --threshold=1G -ch /.[!.]* /*

출력되는 예제는 다음과 같다:

1,4G /usr/lib 1,8G /usr/share 3,5G /usr 5,8G total
본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/GitBook/

반응형

+ Recent posts