본문 바로가기
IT/linux

디렉토리별 용량 확인 방법 / linux du, find 활용

by 어느해겨울 2022. 1. 9.

디렉토리별 용량

 

리눅스에서 디렉토리 용량을 확인하는 명령어는 du가 있다.

그리고 파일 또는 디렉토리를 탐색하는 find 명령어도 있다.

이 두개를 조합하여 디렉토리별 용량 조회하는 방법을 알아보자.

 

우선 du, 간단하게 소개하자면 파일(또는 디렉토리 등 대상)의 용량을 확인하는 명령어다.

자세한 내용은 아래 man page를 참고하면 되겠고 바로 예제로 들어간다.

du - estimate file space usage

https://man7.org/linux/man-pages/man1/du.1.html

 

du(1) - Linux manual page

 

man7.org

 

 

예제

1. du 명령어만 이용

 

root@muabow:/var/log# du .
4       ./samba/cores/smbd
4       ./samba/cores/nmbd
12      ./samba/cores
1372    ./samba
64      ./wicd
36      ./cups
4       ./unattended-upgrades
92      ./lightdm
552     ./apache2
28      ./apt
64044   .
root@muabow:/var/log# du . -h
4.0K    ./samba/cores/smbd
4.0K    ./samba/cores/nmbd
12K     ./samba/cores
1.4M    ./samba
64K     ./wicd
36K     ./cups
4.0K    ./unattended-upgrades
92K     ./lightdm
552K    ./apache2
28K     ./apt
63M     .
root@muabow:/var/log# du . -h -d 0
63M     .
root@muabow:/var/log# du . -h -d 1
1.4M    ./samba
64K     ./wicd
36K     ./cups
4.0K    ./unattended-upgrades
92K     ./lightdm
552K    ./apache2
28K     ./apt
63M     .
root@muabow:/var/log# du . -h -d 2
12K     ./samba/cores
1.4M    ./samba
64K     ./wicd
36K     ./cups
4.0K    ./unattended-upgrades
92K     ./lightdm
552K    ./apache2
28K     ./apt
63M     .
root@muabow:/var/log#

1) du .

du 명령어만 사용, . 은 현재 디렉토리를 의미한다. 대상을 바꿀 수 있다, 현재 디렉토리의 모든 파일과 하위 디렉토리를 포함한 디렉토리 전부를 명세하고 바이트 단위로 용량을 출력한다.

 

2) du . -h

-h 옵션 사용, -h 는 human-readable 약자로 사람이 읽기 쉬운 단위로 변환해준다. 각 용량에 맞춰 K,M,G 등 단위 전환을 해준다.

 

3) du . -h -d 0

-d 0 옵션 사용, -d 0 는 --max-depth를 의미하고 하위 경로를 어디까지 출력할지 제한한다. 0은 자기 디렉토리의 용량만 출력한다.

 

4) du . -h -d 1

-d 1 옵션 사용, 탐색 대상 디렉토리의 하위 1단계까지만 출력한다.

 

5) du . -h -d 2

-d 2 옵션 사용, 탐색 대상 디렉토리의 하위 2단계까지만 출력한다.

 

 

2. du와 find 명령어을 조합

root@muabow:/var/log# find . -type d | xargs du -h
4.0K    ./samba/cores/smbd
4.0K    ./samba/cores/nmbd
12K     ./samba/cores
1.4M    ./samba
64K     ./wicd
36K     ./cups
4.0K    ./unattended-upgrades
92K     ./lightdm
552K    ./apache2
28K     ./apt
63M     .
root@muabow:/var/log#

1) find . -type d | xargs du -h

현재 경로(find .) 에서 타입이 디렉토리(-type d)인 모든 것들을 탐색하여(xargs, 인자로 전달) 사람이 읽기 쉬운 형태(du -h)로 출력한다.

* 여기서 find의 -type 을 d가 아닌 파일(f) 로 변경하게 되면 디렉토리의 용량은 나오지 않고 하위 모든 경로에 존재하는 파일들의 개별 용량을 표시한다.

 

끝.

 

 

댓글