Jak mogę obliczyć rozmiar katalogu?


Odpowiedzi:


230
du -s directory_name

Lub, aby uzyskać wynik czytelny dla człowieka:

du -sh directory_name

Ta -sopcja oznacza, że ​​nie będzie wyświetlać rozmiaru dla każdego podkatalogu, tylko całkowity rozmiar.


7
W rzeczywistości dudomyślną jednostką są 512-bajtowe bloki zgodne z POSIX i kilobajty w Linuksie (chyba że zmienna środowiskowa POSIXLY_CORRECTjest ustawiona) lub z du -k.
Gilles,

3
@Gilles: Dobry połów. Usunąłem bit „liczba bajtów” z mojej odpowiedzi.
sepp2k

1
pracował zgodnie z zaleceniami
skidadon

1
jeśli katalog jest bardzo duży i ma wiele podkatalogów, zajmuje dużo czasu ... prawie 1 min .. czy to normalne? czy istnieje sposób na szybsze uzyskanie rozmiaru?
yeahman,

2
Musiałem obliczyć rozmiar mojej „torby” folderu, du -sh bagdziałał idealnie!
António Almeida

7

Chociaż korzystanie z osobnego pakietu, takiego jak ncdu, może działać dobrze, to samo porównanie wielu folderów można do pewnego stopnia, po prostu podając listę folderów do powiększenia. Na przykład, aby porównać katalogi najwyższego poziomu w systemie ...

cd /    
sudo du -sh ./*

2
Mówiąc prościejdu -sh /*
roaima,



1

Próbować

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

Pomaga to znaleźć duże katalogi, a następnie przesiać je za pomocą du -sh ./*


0

możesz także użyć ls -ldh:

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

-l jest na długiej liście; -d służy do wyświetlania informacji o katalogu, a nie do zawartości katalogu, -h służy do wyświetlania rozmiaru w formacie czytelnym dla huma.


4
To nie jest poprawne, osoba pytająca wyraźnie szuka miejsca w katalogu i jego zawartości na dysku. Odpowiedź @ sepp2k jest poprawna.
blong

1
Komenda ls -ldh pokazuje tylko rozmiar struktury i-węzła katalogu. Metryka odzwierciedla wielkość tabeli indeksów nazw plików, ale nie rzeczywisty rozmiar zawartości pliku w katalogu.
linbianxiaocao

0

Zawsze instaluję pakiet „ncdu” i widzę wszystkie dane wyjściowe wszystkich katalogów z graficzną reprezentacją. Wynika to z faktu, że zazwyczaj muszę wiedzieć, co zajmuje najwięcej miejsca na dysku na moich komputerach, niezależnie od tego, ile zsumuje pojedynczy katalog.

Sposób użycia: sudo ncdu /(Nie potrzebujesz sudofolderów, do których masz uprawnienia do odczytu).

Trwa skanowanie statystyk użytkowania dysku w całym systemie plików. Ma ładną graficzną reprezentację wiersza poleceń i zawiera nawigację za pomocą klawiatury za pomocą klawiszy strzałek, takich jak wchodzenie głębiej lub wyżej na zeskanowanej ścieżce. Możesz także usunąć elementy, naciskając D.



0

du -hd1

wyświetli w formacie czytelnym dla człowieka rozmiary wszystkich katalogów, np

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

0

Próbowałem z poniższym poleceniem, ponieważ podano już najlepszą odpowiedź

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

wynik

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

679445
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.