
Linux에서 디렉토리 크기를 가져오는 방법
ls
를 사용하여 디렉토리 컨텐트를 나열하는 경우명령을 실행할 때, 디렉터리의 크기가 거의 항상 4096바이트 (4KB) 라는 것을 알 수 있습니다.이것은 디스크에 포함된 내용이 아니라 디렉터리 정보를 저장하는 데 사용되는 공간 크기입니다.디렉터리의 실제 크기를 가져오려면 필요한 명령은
du
이고, 이것은 '디스크 사용률' 의 줄임말이다.디렉토리 크기 가져오기
의du
명령은 지정한 파일이나 디렉터리에 사용할 파일 공간을 표시합니다.지정한 경로가 디렉터리라면
du
이 디렉터리에 있는 모든 하위 디렉터리의 디스크 사용 상황을 정리합니다.경로가 지정되지 않은 경우du
보고서current working directory의 디스크 사용. 옵션이 없는 상태에서 호출할 때
du
주어진 디렉터리와 각 하위 디렉터리의 디스크 사용 상황을 바이트 단위로 표시합니다.일반적으로 디렉터리가 차지하는 공간을 읽을 수 있는 형식으로 보여 주기를 원합니다.예를 들어 /var
디렉토리의 전체 크기를 가져오려면다음 명령을 실행합니다: sudo du -sh /var
출력은 다음과 같습니다: 85G /var
이 명령과 파라미터를 설명합니다: sudo
로 시작합니다. /var
디렉터리의 대다수 파일과 디렉터리는 사용자 소유이기 때문에 보통 사용자가 읽을 수 없습니다.생략된 경우 sudo
명령을 읽을 수 없습니다(914).
du
- 지정된 디렉토리의 총 크기만 표시하고 하위 디렉토리의 총 파일 크기는 표시하지 않습니다.s
- 읽기 가능한 형식으로 크기h
를 인쇄합니다.h
- 크기의 디렉토리를 가져올 경로입니다./var
를 사용하여 다음과 같다. 이것은'문장점*
으로 시작하지 않는 모든 내용과 일치한다'는 것을 의미한다..
옵션은 -c
인쇄된 모든 크기의 합계를 알려줍니다. sudo du -shc /var/*
24K /var/db
4.0K /var/empty
4.0K /var/games
77G /var/lib
4.0K /var/local
0 /var/lock
3.3G /var/log
0 /var/mail
4.0K /var/opt
0 /var/run
196K /var/spool
28K /var/tmp
85G total
1레벨 하위 디렉터리 디스크 사용 상황 보고서를 가져오는 또 다른 방법은 du
옵션을 사용합니다. sudo du -h --max-depth=1 /var
77G /var/lib
24K /var/db
4.0K /var/empty
4.0K /var/local
4.0K /var/opt
196K /var/spool
4.0K /var/games
3.3G /var/log
5.0G /var/cache
28K /var/tmp
85G /var
85G total
. 기본적으로--max-depth
명령은 디렉터리나 파일에 사용되는 디스크 공간을 표시합니다.디렉토리의 모양새 크기를 찾으려면 du
옵션을 사용합니다.파일의 테이블 크기는 파일에 실제로 포함된 데이터의 양을 나타냅니다.sudo du -sh --apparent-size /var
카탈로그를 SCP로 전송하는 경우, Rsync
, 또는 SFTP
네트워크를 통해 전송되는 데이터의 양은 파일의 표면적인 크기이다.이것이 바로 디스플레이
--apparent-size
du
가 표시되지 않을 때 원본에서 사용하는 디스크 공간 크기가 목표의 크기와 다른 이유입니다.--apparent-size
명령은 다른 파이핑 명령과 함께 사용할 수도 있습니다.예를 들어, 5 인쇄largest directoriesdu
디렉터리에서 /var
의 출력을 파이프를 통해 du
명령으로 전송하여 디렉터리 크기에 따라 디렉터리를 정렬한 다음 출력을 파이프를 통해 sort
로 전송할 수 있습니다.명령은 처음 5개의 디렉터리만 인쇄합니다.
sudo du -h /var/ | sort -rh | head -5
85G /var/
77G /var/lib
75G /var/lib/libvirt/images
75G /var/lib/libvirt
5.0G /var/cache/pacman/pkg
결론
head
명령으로 디렉터리의 크기를 얻을 수 있습니다.만약 어떤 문제나 의견이 있으면 아래에 메시지를 남겨 주십시오.