강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

디렉토리별 사용량 점검하는 du 사용법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

디렉토리별 사용량 점검하는 du 사용법

 

 

 

 

 

지금까지는 df에 대해서 살펴보았다.

 

 

 

df가 파일시스템을 기본대상으로 한다면 du는 디렉토리를 대상으로 한다.

 

 

 

 du“Disk Usage”의 약어로서 파일 및 디렉토리의 사용량을 확인 할 때 사용하는 명령어이다.

 

 

 

 이 명령어는 df명령어와 함께 리눅스에서 디스크의 사용량을 점검하고 체크하는 가장 실무적인 명령어이다.

 

 

 

df명령어가 파티션(파일시스템)단위의 디스크사용량을 점검한다면 du명령어는 특정 디렉토리 또는 파일을 단위로하여 그 용량을 확인하는 명령어이다.

 

 

 

 df du는 사용량을 점검한다는 용도는 같지만 그 대상은 각각 다르므로 반드시 함께 익혀야만 목적에 부합하는 사용량을 정확하게 점검 할 수 있다.

 

 

 

 

 

du 명령어는 현재디렉토리의 용량뿐 아니라 현재디렉토리의 서브디렉토리 및 파일들까지 모두 함께 사용량을 계산하여 표시해준다.

 

 

 

그리고 기본 용량표시단위는 kbyte이다.

 

특정 디렉토리내에 존재하는 파일들의 개별용량을 확인코자 할 때에는 다음과 같이 하기 바란다.

 

 

 

 "du 디렉토리명"이라고 하면 지정한 디렉토리내에 존재하는 모든 파일의 용량을 파일명과 함께 표시해 준다.

 

 

 

다음 사용예를 보자.

 

 

 

 

[root@host3 /]# du /etc 
184     /etc/sysconfig/network-scripts
4       /etc/sysconfig/console
4       /etc/sysconfig/networking/devices
4       /etc/sysconfig/networking/profiles/default
8       /etc/sysconfig/networking/profiles
20      /etc/sysconfig/networking
16      /etc/sysconfig/apm-scripts
20      /etc/sysconfig/rhn
372     /etc/sysconfig
60      /etc/X11/desktop-menus
....
....

 

 

 

 

위의 예는 /etc디렉토리에 존재하는 모든 파일들(서브디렉토리내의 파일들까지 포함)의 용량과 함께 파일명을 표시해 준다.

 

 

 

 용량 단위는 kbyte단위이다.

 

 

 

 하지만 /etc내에는 수많은 파일들이 존재하므로 한 화면에 모두 표시되지 않는다.

 

 

 

그리고 모두 표시된다 하더라도 한눈에 정확하게 어떤 파일이 얼마나 큰용량을 차지하고 있는가를 확인하기가 어렵다.

 

 

 

 

 

이번에는 /etc 디렉토리의 전체용량이 얼마나 되는가를 확인해 보자.  du명령어사용시 "-s"(summary)을 사용하면 지정된 디렉토리내에 존재하는 모든 파일과 서브디렉토리들의 용량을 모두 합친 전체용량(summary)을 표시한다.

 

 

 

 

[root@su252 ~]# du -s /etc

92492   /etc

[root@su252 ~]#

 

 

 

 

위와 같이 지정한 디렉토리(/etc)의 전체용량을 간략히 표시할 때에는 -s옵션을 사용한다.

 

 

 

 위의 결과에서 /etc/가 사용하는 전체 용량은 92,492kbyte이다.

 

 

 

그런데 용량단위가 표시되지 않아서 좀 불편해 보일 수도 있다.

 

 

 

이것을 좀 더 간편하게 용량단위까지 표시해 보도록 하겠다.

 

 

 

 

 

이번에는 /etc 전체용량을 용량단위까지 표시해서 확인해 보겠다.

 

 

 

 즉 전체용량을 모두 합해서 용량단위까지 붙여서 출력하라는 옵션은 "-sh"옵션이다.

 

 

 

du명령어사용시 "-h"(human-readable)는 단위를 표시하게 하는 du명령어의 옵션으로서 KByte 또는 MByte또는 GByte등의 용량표시를 해주게 된다.

 

 

 

 


K, M, G
단위는 용량의 크기에 따라서 적당하게 표시된다.

 

 

 

 -h옵션은 human-readable의 약어로서 사람이 좀 더 읽기 편하게 표시해준다는 의미이다.

 

 

 

 

[root@su252 ~]# du -sh /etc

91M     /etc

[root@su252 ~]#

 

 

 

 

위의 예는 /etc의 전체 용량이 91M가 된다는 것을 의미하고 있다.

 

 

 

이번에는 좀 더 현실적인 예를들어 보겠다.

 

 

 

시스템관리를 하다보면 루트디렉토리 밑에 존재하는 각 디렉토리들의 개별 사용량을 확인하거나 사용량보고서를 작성해야 할 때도 있을 것이다.

 

 

 

이때 다음과 같은 명령어로 개별 디렉토리의 사용량을 간편하게 확인 할 수 있다.

 

 

 

 

 

[root@su252 ~]# du -sh /*

20K     /backup

6.7M    /bin

5.4M    /boot

116K    /dev

91M     /etc

56K     /home

77M     /lib

16K     /lost+found

8.0K    /media

0       /misc

8.0K    /mnt

0       /net

8.0K    /opt

0       /proc

2.2M    /root

31M     /sbin

8.0K    /selinux

8.0K    /srv

0       /sys

32K     /tmp

1.9G    /usr

40M     /var

[root@su252 ~]#

 

 

 

 

보다시피 / 밑에는 개별디렉토리들이 존재한다.

 

 

 

 이때 간편하게 위와 같은 명령어로 개별 디렉토리의 용량을 각각 확인 할 수 있다.

 

 

 

 

 

또한 좀 더 실무적인 접근을 해본다면, 호스팅 서버에서는 개별 사용자들의 계정 사용량을 확인해야 할 경우가 종종 있을 것이다.

 

 

 

 이때에는 다음과 같이 간편하게 확인 할 수 있다.

 

 

 

아래는 /home의 전체용량을 확인한 것이다.

 

 

 

[root@host3 /]# du -sh /home/
59M     /home
[root@host3 /]#

 

 

 

 

그리고 계정사용자들의 개별사용량을 확인한 것이다.

 

 

 



[root@host3 /]# du -sh /home/*
13M     /home/bible
15M     /home/bible1
17M     /home/bible2
15M     /home/bible3
[root@host3 /]#

 

 

 

 

즉 위의 결과는 /home디렉토리내에 존재하는 개별 디렉토리의 용량단위를 붙여서 표시한 것이다.

 

 

 

 

 

이번에는 개별사용자가 시스템내에서 사용하는 전체사용량에 대한 점검방법이다.

 

 

 

즉 개별 사용자가 자기자신이 사용하는 계정의 전체용량을 확인하고자 할 때에는 다음과 같이 하면된다.

 

 

 

 telnet이나 ssh등으로 서버로 로그인한 다음 "du -sh ~ID"라고 하면 현재 자기가 사용중인 계정의 전체용량을 확인 할 수 있다.

 

 

 

 

 

[root@host3 /]# du -sh ~bible
13M     /home/bible
[root@host3 /]# du -sh ~bible1
15M     /home/bible1
[root@host3 /]#

 

 

 

 

위의 예는 bible이라는 계정사용자가 자기자신이 사용하는 전체용량을 확인한 것으로 전체 13MB를 사용중이라는 것을 알 수 있다.

 

 

 

다음 예는 각 사용자들의 각각의 디스크사용량을 체크 한 것이다.

 

[root@RockyLinux01 ~]# ls -l /home/

합계 8

drwx------  14 bible   bible    302  6 13 09:02 bible

drwx------. 15 sspark  sspark  4096  6  5 15:56 sspark

drwx------   4 ssaprk1 ssaprk1  111  6 21 15:09 sspark1

drwx------. 13 sulinux sulinux 4096  4 28 17:18 sulinux

[root@RockyLinux01 ~]#

[root@RockyLinux01 ~]#

[root@RockyLinux01 ~]#

[root@RockyLinux01 ~]# du -sh /home/*

4.4M    /home/bible

300M    /home/sspark

16K     /home/sspark1

4.6M    /home/sulinux

[root@RockyLinux01 ~]#

 

 

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,853 개
  • 현재 접속자 :  73 명