it-swarm-ko.tech

디렉토리의 크기를 어떻게 계산할 수 있습니까?

디렉토리의 크기를 아는 방법? 하위 디렉토리 및 파일 포함.

189
Juanjo Conti
du -s directory_name

또는 사람이 읽을 수있는 출력을 얻으려면 :

du -sh directory_name

-s 옵션은 각 하위 디렉토리의 크기를 나열하지 않고 총 크기 만 나열 함을 의미합니다.

245
sepp2k

GNU du-b 옵션을 사용합니다.

도움이 필요하면 man pageinfo page 를 참조하십시오.

-b, --bytes--apparent-size --block-size=1와 같습니다.

7
user2573436

Ncdu와 같은 별도의 패키지를 사용하는 것이 효과적 일 수 있지만, 크기를 조정할 폴더 목록을 제공하면 어느 정도 많은 폴더를 동일하게 비교할 수 있습니다. 예를 들어 시스템의 최상위 디렉토리를 비교하려면 ...

cd /    
Sudo du -sh ./*
7
NFlourish
du -csh

-c는 총계를 생성합니다

1
Kalpesh Soni

시험

du -hax --max-depth=1 / | grep '[0-9]G' | sort -nr

이것은 큰 디렉토리를 찾은 다음 du -sh ./*

1
rollinjack

Awk Velour library 에서 "file-size.sh"를 사용할 수 있습니다.

ls -ARgo "[email protected]" | awk '{q += $3} END {print q}'
1
Steven Penny

항상 "ncdu"패키지를 설치하고 모든 디렉토리의 모든 출력을 그래픽으로 표시합니다. 이는 단일 디렉토리의 합계에 관계없이 일반적으로 내 컴퓨터에서 가장 많은 디스크 공간을 차지하는 것을 알아야하기 때문입니다.

사용법 : Sudo ncdu / (읽기 권한이있는 폴더에는 Sudo이 필요하지 않습니다).

전체 파일 시스템에서 디스크 사용량 통계를 스캔하는 데 시간이 걸립니다. 멋진 명령 줄 그래픽 표현이 있으며 스캔 한 경로에서 더 깊거나 높아지는 것과 같은 화살표 키를 사용한 키보드 탐색 기능이 포함되어 있습니다. 를 눌러 항목을 삭제할 수도 있습니다 D.

0
Etescartz

du -hd1

모든 디렉토리의 크기를 사람이 읽을 수있는 형식으로 나열합니다 (예 :.

656K    ./rubberband
2.2M    ./lame
652K    ./pkg-config
0
Boris Yakubchik

이미 최고의 답변이 제공되었으므로 아래 명령으로 시도했습니다.

Sudo find . -maxdepth 1 -exec du -shk {} \;| awk 'NR >1'| awk 'BEGIN{sum=1}{sum=sum+$1}END{print sum}'

산출

 Sudo find . -maxdepth 1 -exec du -shk {} \;| awk 'NR >1'| awk 'BEGIN{sum=1}{sum=sum+$1}END{print sum}'

679445
0
Praveen Kumar BS

원래 질문은 크기를 물었지만 디스크의 크기인지 또는 실제 데이터 크기인지는 지정하지 않았습니다.

'du'의 계산은 동일한 파일 시스템을 사용하여 동일한 크기의 파티션을 가진 서버마다 다를 수 있음을 발견했습니다. 파일 시스템 특성이 다르면 이치에 맞지만 그 이유는 알 수 없습니다. Steven Penny가 제공 한 'ls | awk'답변은보다 일관된 답변을 제공하지만 여전히 매우 큰 파일 목록으로 일관성없는 결과를 얻었습니다.

'find'를 사용하면 XFS를 사용하는 서버와 EXT4를 사용하는 서버를 비교할 때도 300,000 개 이상의 파일에 대해 일관된 결과를 얻을 수 있습니다. 따라서 모든 파일의 총 데이터 바이트를 알고 싶다면이 방법을 사용하는 것이 좋습니다.

find /whatever/path -type f -printf "%s\n"|awk '{q+=$1} END {print q}'
0
Angelo Babudro

ls -ldh를 사용할 수도 있습니다.

ls -ldh /etc drwxr-xr-x 145 root root 12K 2012-06-02 11:44 /etc

-l은 긴 목록입니다. -d는 dir의 내용이 아닌 dir 정보를 표시하기위한 것이고, -h는 huma를 읽을 수있는 형식으로 크기를 표시하기위한 것입니다.

0
fromnaboo