본문 바로가기
리눅스

du, df - 계정용량 관리

by 웹디자인 2012. 7. 20.

du - 파일 및 디렉토리 사용량 점검


du는 "Disk Usage"의 약어로서 파일 및 디렉토리의 사용량을 확인 할 때 사용하는 명령어이다.
이 명령어는 df 명령어와 함께 리눅스에서 디스크의 사용량을 점검하고 체크하는 가장 실무적인 명령어이다. 즉, df명령어가 파티션(파일시스템)단위의 디스크 사용량을 점검한다면 du 명령어는 특정 디렉토리 또는 파일을 단위로하여 그 용량을 확인하는 명령어이다.

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

사용형식 : du [옵션]... [파일] [디렉토리]

사용형식 : du [옵션]... [파일] [디렉토리]

 

# 특정 디렉토리의 용량 확인

[root@inter-devel yswon]# du /home/yswon/
8 /home/yswon/www_log
8 /home/yswon/www/weblog
16 /home/yswon/www
8 /home/yswon/ftp_log
8 /home/yswon/ftp
44 /home/yswon/script
160 /home/yswon/

[root@inter-devel yswon]# du /home/yswon/
8 /home/yswon/www_log
8 /home/yswon/www/weblog
16 /home/yswon/www
8 /home/yswon/ftp_log
8 /home/yswon/ftp
44 /home/yswon/script
160 /home/yswon/


위의 예는 /home/yswon 디렉토리의 용량을 디렉토리별(서브디렉토리가 있을 경우 별도로 구분)로
표시해서 보여준 것이다.


# 특정 디렉토리의 전체 사용량 점검하기

[root@inter-devel yswon]# du -s /home/yswon/
160 /home/yswon/
[root@inter-devel yswon]# du -s /home/yswon/
160 /home/yswon/

 

위와 같이 전체용량을 간략히 표시할 때에는 -s옵션(summary)을 사용한다.


# 특정 디렉토리의 전체 사용량을 용량단위로 붙여서 점검하기

전체용량을 용량단위까지 붙여서 출력하는 옵션은 -h(human-readable)을 사용한다.
-h 옵션은 사람이 좀 더 읽기 편하게 표시해주며, K, M, G 단위는 용량의 크기에 따라서 적당하게 표시된다.

[root@inter-devel yswon]# du -sh /home/yswon/
160K /home/yswon/
[root@inter-devel yswon]# du -sh /home/yswon/
160K /home/yswon/

 

실무적인 접근에서 호스팅 서버에서 개별 사용자들의 계정 사용량을 확인해야 할 경우 아래와 같이 하면 된다.

[root@inter-devel ~]# du -sh /home/*
163M /home/cvs
5.2M /home/cvs_old
72K /home/hiaevent
16M /home/httpd
16K /home/lost+found
56K /home/named
639M /home/ncadmin
217M /home/nldb
74M /home/oracle
465M /home/webadmin
160K /home/yswon

[root@inter-devel ~]# du -sh /home/*
163M /home/cvs
5.2M /home/cvs_old
72K /home/hiaevent
16M /home/httpd
16K /home/lost+found
56K /home/named
639M /home/ncadmin
217M /home/nldb
74M /home/oracle
465M /home/webadmin
160K /home/yswon

 


# 일반 계정사용자의 홈디렉토리 전체 디스크 사용량 점검하기

[root@inter-devel ~]# du -sh ~yswon
160K /home/yswon

[root@inter-devel ~]# du -sh ~yswon
160K /home/yswon


위의 예는 yswon이라는 계정 사용자가 자기자신이 사용하는 전체용량을 확인하는 방법이다.

df - 파일시스템 사용량 점검


df는 "Disk Free"의 약어로서 현재 사용중인 파일시스템의 전체용량, 사용한 용량, 사용 가능한 용량, 사용률, 마운트 정보등을 보여준다. 즉, 이 명령어는 현재 사용중인 파일시스템들의 디스크 사용량을 출력한다.
서버 장애의 주된 원인이 될 수 있는 File System Full을 방지하기 위하여 파일 시스템의 사용량점검을 위해 사용되는 명령어이다. 또한 /etc/fstab파일에서 파일 시스템정보를 참조하고, /etc/mtab에서 마운트된 정보를 참조한다. 기본표시 용량단위는 KB이다.

# 현재 서버의 디스크 사용량을 파티션별로 확인하기

[root@inter-devel ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 10317860 6574316 3219424 68% /
/dev/sda1 101086 17165 78702 18% /boot
none 1037192 0 1037192 0% /dev/shm
/dev/sda6 5162796 1597624 3302916 33% /home
/dev/sda10 26715668 21920296 3438284 87% /oracle
/dev/sda7 5162796 43096 4857444 1% /tmp
/dev/sda8 5162796 1405084 3495456 29% /usr
/dev/sda5 5162796 1564372 3336168 32% /usr/local
/dev/sda3 10317860 1309196 8484544 14% /var

[root@inter-devel ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 10317860 6574316 3219424 68% /
/dev/sda1 101086 17165 78702 18% /boot
none 1037192 0 1037192 0% /dev/shm
/dev/sda6 5162796 1597624 3302916 33% /home
/dev/sda10 26715668 21920296 3438284 87% /oracle
/dev/sda7 5162796 43096 4857444 1% /tmp
/dev/sda8 5162796 1405084 3495456 29% /usr
/dev/sda5 5162796 1564372 3336168 32% /usr/local
/dev/sda3 10317860 1309196 8484544 14% /var


즉, 위의 결과를 보면
첫번째 필드는 파일시스템 장치명(device name)이며,
두번째 필드는 각 파일시스템에 할당된 용량이며,
세번째 필드는 사용된 용량이며,
네번째 필드는 사용가능한(사용되지않고 남아 있는) 용량이며,
다섯번째 필드는 사용률(전체할당된 용량에 대한 사용된 용량의 백분율)을 나타내며,
여섯번째 필드는 각 파일시스템이 마운트된 마운트포인트(위치, 디렉토리)를 표시하고 있다.

기본 표시단위는 Kbyte단위이며 -k옵션은 디폴트(default)이며, MB단위로 용량을 표시하려면 -m옵션을 사용하면 된다. 디스크 사용량을 파티션별로 확인 할 때 가장 적당한 용량단위 표시는 -h옵션이다.


# 디스크용량 확인시에 모든 파일 시스템을 대상으로 점검하기

파일시스템으 크기가 0인 것까지 모든 파일시스템을 확인하는 옵션 -a를 사용하며 된다. 이들 파일시스템은 모두 할당용량, 사용량, 가용량등이 모두 0으므로 굳이 표시해야 할 필요가 없었기 때문에 기본표시에서는 제외되었다.

[root@inter-devel ~]# df -a
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 10317860 6574316 3219424 68% /
none 0 0 0 - /proc
none 0 0 0 - /sys
none 0 0 0 - /dev/pts
usbfs 0 0 0 - /proc/bus/usb
/dev/sda1 101086 17165 78702 18% /boot
none 1037192 0 1037192 0% /dev/shm
/dev/sda6 5162796 1597624 3302916 33% /home
/dev/sda10 26715668 21920296 3438284 87% /oracle
/dev/sda7 5162796 43096 4857444 1% /tmp
/dev/sda8 5162796 1405084 3495456 29% /usr
/dev/sda5 5162796 1564372 3336168 32% /usr/local
/dev/sda3 10317860 1309208 8484532 14% /var
none 0 0 0 - /proc/sys/fs/binfmt_misc
[root@inter-devel ~]# df -a
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 10317860 6574316 3219424 68% /
none 0 0 0 - /proc
none 0 0 0 - /sys
none 0 0 0 - /dev/pts
usbfs 0 0 0 - /proc/bus/usb
/dev/sda1 101086 17165 78702 18% /boot
none 1037192 0 1037192 0% /dev/shm
/dev/sda6 5162796 1597624 3302916 33% /home
/dev/sda10 26715668 21920296 3438284 87% /oracle
/dev/sda7 5162796 43096 4857444 1% /tmp
/dev/sda8 5162796 1405084 3495456 29% /usr
/dev/sda5 5162796 1564372 3336168 32% /usr/local
/dev/sda3 10317860 1309208 8484532 14% /var
none 0 0 0 - /proc/sys/fs/binfmt_misc

 

# 파티션별로 디스크용량 점검시에 inode사용정보를 표시하기
지금까지는 df명령어로 확인하였던 디스크사용량은 블록(block)을 단위로 하였지만, inode단위로 사용량 정보를 표시하고 싶으면 -i옵션을 사용하면 된다.

[root@inter-devel ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda2 1310720 7876 1302844 1% /
/dev/sda1 26104 46 26058 1% /boot
none 223828 1 223827 1% /dev/shm
/dev/sda6 656000 14903 641097 3% /home
/dev/sda10 3394560 41601 3352959 2% /oracle
/dev/sda7 656000 19 655981 1% /tmp
/dev/sda8 656000 80612 575388 13% /usr
/dev/sda5 656000 13434 642566 3% /usr/local
/dev/sda3 1310720 5429 1305291 1% /var
[root@inter-devel ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda2 1310720 7876 1302844 1% /
/dev/sda1 26104 46 26058 1% /boot
none 223828 1 223827 1% /dev/shm
/dev/sda6 656000 14903 641097 3% /home
/dev/sda10 3394560 41601 3352959 2% /oracle
/dev/sda7 656000 19 655981 1% /tmp
/dev/sda8 656000 80612 575388 13% /usr
/dev/sda5 656000 13434 642566 3% /usr/local
/dev/sda3 1310720 5429 1305291 1% /var

 

# 디스크사용량을 출력할 때에 파일시스템의 종류와 함께 표시하기

[root@inter-devel ~]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda2 ext3 10317860 6574316 3219424 68% /
/dev/sda1 ext3 101086 17165 78702 18% /boot
none tmpfs 1037192 0 1037192 0% /dev/shm
/dev/sda6 ext3 5162796 1597624 3302916 33% /home
/dev/sda10 ext3 26715668 21920296 3438284 87% /oracle
/dev/sda7 ext3 5162796 43096 4857444 1% /tmp
/dev/sda8 ext3 5162796 1405084 3495456 29% /usr
/dev/sda5 ext3 5162796 1564372 3336168 32% /usr/local
/dev/sda3 ext3 10317860 1309216 8484524 14% /var

[root@inter-devel ~]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda2 ext3 10317860 6574316 3219424 68% /
/dev/sda1 ext3 101086 17165 78702 18% /boot
none tmpfs 1037192 0 1037192 0% /dev/shm
/dev/sda6 ext3 5162796 1597624 3302916 33% /home
/dev/sda10 ext3 26715668 21920296 3438284 87% /oracle
/dev/sda7 ext3 5162796 43096 4857444 1% /tmp
/dev/sda8 ext3 5162796 1405084 3495456 29% /usr
/dev/sda5 ext3 5162796 1564372 3336168 32% /usr/local
/dev/sda3 ext3 10317860 1309216 8484524 14% /var

위의 결과에서 각 파일시스템의 장치명 다음에 파일시스템 종류를 표시하고 있다.


# 특정 파일시스템의 종류만을 대상으로 디스크사용량 조사하기
df명령어 사용시 -t옵션 뒤에 파일시스템의 종류명을 지정하면 된다.

[root@inter-devel ~]# df -t ext3
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 10317860 6574316 3219424 68% /
/dev/sda1 101086 17165 78702 18% /boot
/dev/sda6 5162796 1597624 3302916 33% /home
/dev/sda10 26715668 21920296 3438284 87% /oracle
/dev/sda7 5162796 43096 4857444 1% /tmp
/dev/sda8 5162796 1405084 3495456 29% /usr
/dev/sda5 5162796 1564372 3336168 32% /usr/local
/dev/sda3 10317860 1309232 8484508 14% /var

[root@inter-devel ~]# df -t ext3
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 10317860 6574316 3219424 68% /
/dev/sda1 101086 17165 78702 18% /boot
/dev/sda6 5162796 1597624 3302916 33% /home
/dev/sda10 26715668 21920296 3438284 87% /oracle
/dev/sda7 5162796 43096 4857444 1% /tmp
/dev/sda8 5162796 1405084 3495456 29% /usr
/dev/sda5 5162796 1564372 3336168 32% /usr/local
/dev/sda3 10317860 1309232 8484508 14% /var


# 특정 파일시스템의 종류를 제외한 디스크사용량 조사하기

[root@inter-devel ~]# df -x ext3
Filesystem 1K-blocks Used Available Use% Mounted on
none 1037192 0 1037192 0% /dev/shm

[root@inter-devel ~]# df -x ext3
Filesystem 1K-blocks Used Available Use% Mounted on
none 1037192 0 1037192 0% /dev/shm

 

댓글