디렉토리별 용량
리눅스에서 디렉토리 용량을 확인하는 명령어는 du가 있다.
그리고 파일 또는 디렉토리를 탐색하는 find 명령어도 있다.
이 두개를 조합하여 디렉토리별 용량 조회하는 방법을 알아보자.
우선 du, 간단하게 소개하자면 파일(또는 디렉토리 등 대상)의 용량을 확인하는 명령어다.
자세한 내용은 아래 man page를 참고하면 되겠고 바로 예제로 들어간다.
du - estimate file space usage
https://man7.org/linux/man-pages/man1/du.1.html
예제
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) 로 변경하게 되면 디렉토리의 용량은 나오지 않고 하위 모든 경로에 존재하는 파일들의 개별 용량을 표시한다.
끝.
'IT > linux' 카테고리의 다른 글
리눅스 설치 시 꼭 알아야 할 10가지 노하우 (0) | 2022.01.13 |
---|---|
linux vi, vim HTML indent 명렁 (0) | 2022.01.13 |
linux haproxy 설명 및 haproxy.cfg 설정 방법 (0) | 2022.01.05 |
svn add commit 전 취소 방법 (0) | 2022.01.05 |
linux git fatal: Not a git repository (or any of the parent directories): .git 오류 해결 방법 (40) | 2022.01.05 |
댓글