답변:
이것은 당신이 찾고있는 것을합니다 :
du -sh /*
이게 무슨 뜻이야:
-s
각 명령 줄 인수에 대한 합계 만 제공합니다.-h
M
메가 바이트 및 G
기가 바이트와 같이 사람이 읽을 수있는 접미사 (선택 사항)/*
의 모든 디렉토리 (및 파일)로 간단히 확장됩니다 /
.
참고 : 도트 파일은 포함되지 않습니다. shopt -s dotglob
그것들도 포함하도록 실행하십시오 .
크기별로 정렬하는 것도 유용합니다.
du -sh /* | sort -h
이리:
-h
즉 보장 sort
올바르게 사람이 읽을 수있는 접미사를 해석합니다.shopt -s dotglob
계수에 포함시키는 데 사용할 수 있습니다 .
/*
예, ./
현재 디렉토리 또는 ./*
현재 디렉토리에있는 각 항목에 대해.
./*/
유일한 하위 폴더 및 모든 항목을 얻을 수
du -sh /* | sort -h
sort
가 없습니다 -h
, 당신은에서를 떠날 필요가 du
그렇지 않으면 정렬이 킬로 / 메가 / 기가 바이트를 섞어 것뿐만 아니라. du -s /* | sort -nr
.
나는 종종 가장 큰 디렉토리를 찾아야하므로 20 개의 가장 큰 디렉토리가 포함 된 정렬 된 목록을 얻으려면이 작업을 수행하십시오.
du -m /some/path | sort -nr | head -n 20
이 경우 크기는 MB 단위로보고됩니다.
b
디렉토리의 쉘에 넣을 수 있습니다 .
기존 답변이 매우 도움이 될 수 있습니다. 어쩌면 일부 나와 같은 초보자도 도움이 될 것입니다.
매우 기본적인 루프이지만 나에게 이것은 다른 크기 관련 작업을위한 좋은 시작이었습니다.
for each in $(ls) ; do du -hs "$each" ; done
첫 번째 답변과 매우 유사하고 1)과 거의 동일한 결과이지만 하위 디렉토리에있는 경우 *와 ./*의 차이점을 이해하는 데 시간이 걸렸습니다.
du -sh ./*
for each
\033[
폴더 목록에 콘솔 문자 (예 :)를 추가 할 때 작동하지 않습니다
for each
. 그것은 작동하지 않습니다
다음 du
호출은 BSD 시스템에서 작동해야합니다.
du -d 1 /
du
(Ubuntu 10.4)에는 -d
옵션 이 없습니다 . 어떤 시스템을 사용하고 있습니까?
du -sk /*
입니다. 나는 -k
물건을 너무 싫어 . 리눅스는 -h
완전히 흔들린다.
--max-depth
쉽지 않습니다. 이 du
명령은 파일과 폴더를 표시하거나 (기본값) 명령 줄에 지정한 모든 항목의 크기 만 표시합니다 (옵션 -s
).
Linux에서 사람이 읽을 수있는 크기로 정렬 된 가장 큰 항목 (파일 및 폴더)을 가져 오려면 다음을 수행하십시오.
du -h | sort -h
이것은 작은 파일들로 가득 차게됩니다. --threshold
(내 예제에서는 1MB)를 사용 하여 제거 할 수 있습니다 .
du --threshold=1M -h | sort -h
이 명령의 장점은 숨겨진 도트 폴더 (로 시작하는 폴더)를 포함한다는 것 .
입니다.
실제로 폴더를 원한다면 사용해야 find
하지만 du
많은 폴더를 여러 번 스캔해야하기 때문에 매우 느릴 수 있습니다 .
find . -type d -print0 | sort -z | xargs --null -I '{}' du -sh '{}' | sort -h
xdiskusage 를 확인하고 싶을 수도 있습니다 . 동일한 정보를 제공하지만 그래픽으로 표시되며 드릴 다운 (매우 유용)이 가능합니다. KDE 및 Windows를위한 다른 유사한 유틸리티가 있습니다.
ls
함께 사용할 수 있습니다 awk
:
ls -al * | awk 'BEGIN {tot=0;} {tot = tot + $5;} END {printf ("%.2fMb\n",tot/1024/1024);}'
의 출력은 ls
에 파이프됩니다 awk
. awk
데이터 처리를 시작합니다. 표준 구분 기호는 공간입니다. 합 변수 tot
는 0으로 초기화됩니다. 에 의해 출력되는 각 행 / 라인에 대해 다음 명령문이 실행됩니다 ls
. tot
크기에 따라 증가 합니다. $5
는 다섯 번째 열을 나타냅니다 (로 출력 ls
). 결국 우리는 (1024 * 1024)로 나눠서 MB 단위로 합산합니다.
이것을 스크립트 나 함수 (.bashrc)로 변환하는 경우 파일 형식에 따라 특정 디렉토리 하위 집합의 크기를 얻는 데 사용할 수도 있습니다.
시스템 전체 정보를 원한다면 kdirstat
유용 할 수 있습니다!
--total
플래그는 나에게 도움이되었다. 예du -sh --total applications/*
. askubuntu.com/a/465436/48214