디렉토리별 사용량 점검하는 du 사용법
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,220 조회
- 0 추천
- 목록
본문
디렉토리별 사용량 점검하는 du 사용법
지금까지는 df에 대해서 살펴보았다.
df가 파일시스템을 기본대상으로 한다면 du는 디렉토리를 대상으로 한다.
du는 “Disk Usage”의 약어로서 파일 및 디렉토리의 사용량을 확인 할 때 사용하는 명령어이다.
이 명령어는 df명령어와 함께 리눅스에서 디스크의 사용량을 점검하고 체크하는 가장 실무적인 명령어이다.
즉 df명령어가 파티션(파일시스템)단위의 디스크사용량을 점검한다면 du명령어는 특정 디렉토리 또는 파일을 단위로하여 그 용량을 확인하는 명령어이다.
즉 df와 du는 사용량을 점검한다는 용도는 같지만 그 대상은 각각 다르므로 반드시 함께 익혀야만 목적에 부합하는 사용량을 정확하게 점검 할 수 있다.
즉 du 명령어는 현재디렉토리의 용량뿐 아니라 현재디렉토리의 서브디렉토리 및 파일들까지 모두 함께 사용량을 계산하여 표시해준다.
그리고 기본 용량표시단위는 kbyte이다.
특정 디렉토리내에 존재하는 파일들의 개별용량을 확인코자 할 때에는 다음과 같이 하기 바란다.
"du 디렉토리명"이라고 하면 지정한 디렉토리내에 존재하는 모든 파일의 용량을 파일명과 함께 표시해 준다.
다음 사용예를 보자.
[root@host3
/]# du /etc |
위의 예는 /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/ |
그리고 계정사용자들의 개별사용량을 확인한 것이다.
[root@host3
/]# du -sh /home/* |
즉 위의 결과는 /home디렉토리내에 존재하는 개별 디렉토리의 용량단위를 붙여서 표시한 것이다.
이번에는 개별사용자가 시스템내에서 사용하는 전체사용량에 대한 점검방법이다.
즉 개별 사용자가 자기자신이 사용하는 계정의 전체용량을 확인하고자 할 때에는 다음과 같이 하면된다.
telnet이나 ssh등으로 서버로 로그인한 다음 "du -sh ~ID"라고 하면 현재 자기가 사용중인 계정의 전체용량을 확인 할 수 있다.
[root@host3
/]# du -sh ~bible |
위의 예는 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 ~]# |
관련자료
-
이전
-
다음