Czy istnieje proste polecenie, aby wyświetlić łączny rozmiar agregatu (użycie dysku) wszystkich plików w katalogu (folderze)?
Próbowałem tych i nie robią tego, co chcę:
ls -l
, który wyświetla tylko rozmiar poszczególnych plików w katalogu, anidf -h
, która wyświetla tylko wolne i zajęte miejsce na moich dyskach.
filesystem
command-line
David Barry
źródło
źródło
Odpowiedzi:
Polecenie
du
„podsumowuje użycie dysku dla każdego PLIKU, rekurencyjnie dla katalogów”, np.-h
jest uzyskanie liczb „czytelnych dla człowieka”, np. get140M
zamiast143260
(rozmiar w kilobajtach)-s
jest podsumowaniem (w przeciwnym razie otrzymasz nie tylko rozmiar folderu, ale także osobno dla wszystkiego w folderze)Podczas używania
-h
możesz sortować wartości czytelne dla ludzi za pomocą-h
Flaga nasort
rozważy wartości Size „czytelny dla człowieka”.Jeśli chcesz uniknąć rekurencyjnego wyświetlania wszystkich plików i katalogów, możesz podać
--max-depth
parametr, aby ograniczyć liczbę wyświetlanych elementów. Najczęściej,--max-depth=1
źródło
du -sh
lub DOOSH jako sposobu, aby to zapamiętać (UWAGA: polecenie jest takie samo, tylko organizacja flag wiersza poleceń do celów pamięci)du -hs *
więc do największego katalogu i dowiedziałem się, które pliki są tak duże ... To jest tak dobra metoda, a najlepsze jest to, że nie musisz niczego instalować! Zdecydowanie zasłużyłem na moją opiniędu
ma dość osobliwe zaokrąglenie, brak dziesiętnych, jeśli wartość ma więcej niż jedną cyfrę w wybranej jednostce) oraz klasyczny problem z prefiksem 1024 vs. 1000 .du
ma opcję-B
(lub--block-size
), aby zmienić jednostki, w których wyświetla wartości, lub możesz użyć-b
zamiast-h
uzyskać „surową” wartość w bajtach.Ostatnio znalazłem świetne, interaktywne narzędzie oparte na ncurses, które szybko daje przegląd rozmiarów katalogów. Przez lata szukałem tego rodzaju narzędzia.
Pomyśl o tym jak o baobabie dla wiersza poleceń:
źródło
ncdu
jest niesamowite! Po zainstalowaniu, po prostu zrób toncdu /
. Bardzo szybko znajdziesz największe pliki w systemie. Naciśnij takżeh
w interfejsie konsoli ncdu. Ma bardzo przydatne skrótyZnajduje rozmiar rekurencyjnie i umieszcza go obok nazwy każdego folderu, wraz z całkowitym rozmiarem na dole, wszystko w formacie ludzkim
źródło
Cieszyć się!
Więcej informacji na temat tego polecenia tutaj
źródło
tree
to kolejne przydatne polecenie dla tego zadania:Wystarczy zainstalować za pomocą
sudo apt-get install tree
i wpisz następujące polecenie:Z drzewa człowieka :
źródło
Poniżej jest to, czego używam do drukowania sumy, folderu i rozmiaru pliku:
Detale
Wynik
źródło
Odpowiedzi dały do zrozumienia, że
du
jest to narzędzie do znalezienia całkowitego rozmiaru katalogu. Należy jednak wziąć pod uwagę kilka czynników:Czasami
du
dane wyjściowe mogą wprowadzać w błąd, ponieważ zgłasza miejsce przydzielone przez system plików, które może różnić się od sumy rozmiarów poszczególnych plików. Zazwyczaj system plików przydziela 4096 bajtów dla pliku, nawet jeśli zapisałeś w nim tylko jeden znak!Różnice wyjściowe wynikające z mocy 2 i mocy 10 jednostek.
-h
Przełącznik dodu
dzieli liczbę bajtów o 2 ^ 10 (1024), 2 ^ 20 (1048576) itd otrzymując ludzkiego wyjście do odczytu. Wiele osób może być bardziej przyzwyczajonych do widzenia mocy 10 (np. 1K = 1000, 1M = 1000000) i być zaskoczonym wynikiem.Aby znaleźć całkowitą sumę rozmiarów wszystkich plików w katalogu, w bajtach, wykonaj:
Przykład:
źródło
--bignum
lub-M
; jeśli nie jest to opcja, użyjfind . -ls | tr -s ' '|cut -d' ' -f 7| paste -sd+ |bc
# 2 .--si
opcja: „jak -h, ale użyj mocy 1000, a nie 1024”Aby uzyskać tylko rozmiar katalogu w czytelnym formacie, użyj poniższego:
Prawdopodobnie nie jest to poprawna sekcja, ale z wiersza poleceń możesz spróbować:
-s
Jest rozmiar i-h
jest czytelny dla człowieka.Użyj,
-l
aby pokazać nals
liście, jak poniżej:źródło
du /foldername
to standardowe polecenie określające rozmiar folderu. Najlepszą praktyką jest znajdowanie opcji, czytając stronę podręcznika:Przed użyciem polecenia należy przeczytać stronę podręcznika (dostępną online ).
źródło
Oto skrypt POSIX, który będzie działał z:
Źródło
źródło
Jeśli żądany katalog ma wiele podkatalogów, użyj następujących opcji:
co wygenerowałoby ogólną sumę wykorzystania pamięci przez wszystkie pliki / foldery w bieżącym katalogu.
źródło
Myślę, że najlepszy jest następujący:
To pokaże tylko rozmiar katalogu, który Cię interesuje i nie wydrukuje rozmiarów żadnych katalogów i plików w tym katalogu.
Powinienem dodać, że jeśli rozmiar folderu jest duży, to du zajmuje więcej czasu. Musisz być cierpliwy, aby to polecenie zadziałało. Tak jak w przypadku każdej innej komendy unix, możesz sprawdzić całkowity czas tego procesu, używając
time
przed tą komendą:źródło
du
ma taką opcję:-s