Podczas wyświetlania zawartości katalogu za pomocą polecenia ls
można zauważyć, że rozmiar katalogów ma prawie zawsze 4096 bajtów (4 KB). To jest rozmiar miejsca na dysku, który jest używany do przechowywania metainformacji katalogu, a nie tego, co on zawiera.
Polecenie, którego chcesz użyć do uzyskania rzeczywistego rozmiaru katalogu, to du
, co jest skrótem od „wykorzystania dysku”.
Pobieranie rozmiaru katalogu #
wyświetla ilość miejsca zajmowanego przez określone pliki lub katalogi. Jeśli podana ścieżka jest katalogiem, du
podsumowuje użycie dysku przez każdy podkatalog w tym katalogu . Jeśli nie określono ścieżki, du
zgłasza użycie dysku w bieżącym katalogu roboczym.
Po wywołaniu bez żadnych opcji du
wyświetla wykorzystanie dysku przez dany katalog i każdy z jego podkatalogów w bajtach.
Zwykle chcesz wyświetlić miejsce zajmowane przez katalog w formacie czytelnym dla człowieka. Na przykład, aby uzyskać całkowity rozmiar /var
, należy uruchomić następujące polecenie:
Wynik będzie wyglądał mniej więcej tak:
Wyjaśnijmy polecenie i jego argumenty:
- Polecenie zaczyna się od
sudo
, ponieważ większość plików i katalogów wewnątrz Katalog/var
należy do użytkownika root i zwykli użytkownicy nie mogą go odczytać. Jeśli pominieszsudo
poleceniedu
wypisze „du: nie można odczytać katalogu”. -
s
– Wyświetla tylko całkowity rozmiar określonego katalogu, nie wyświetla łącznych rozmiarów plików dla podkatalogów. -
h
– Rozmiary wydruków w formacie czytelnym dla człowieka (h
). -
/var
– ścieżka do katalogu, który chcesz pobrać rozmiar.
A co jeśli chcesz wyświetlić wykorzystanie dysku przez podkatalogi pierwszego poziomu? Masz dwie opcje. Pierwsza to użycie symbolu gwiazdki (*
), jak pokazano poniżej, co oznacza„ dopasuj wszystko, co nie zaczyna się od kropki (.
) ”. Opcja -c
mówi du
, aby wydrukować sumę wszystkich rozmiarów:
Innym sposobem uzyskania raportu o wykorzystaniu dysku w podkatalogach pierwszego poziomu jest użycie opcji --max-depth
:
Domyślnie polecenie du
pokazuje miejsce na dysku używane przez katalog lub plik. Aby znaleźć pozorny rozmiar katalogu, użyj opcji --apparent-size
. „Pozorny rozmiar” pliku to rzeczywista ilość danych w pliku.
Podczas przesyłania katalogu przez SCP, Rsync. Lub SFTP ilość danych przesyłanych przez sieć to pozorny rozmiar plików. Dlatego rozmiar miejsca na dysku używanego przez źródło, gdy jest wyświetlany z du
(bez --apparent-size
) różni się od rozmiaru w miejscu docelowym.
Polecenie du
można również łączyć z innymi polecenia z potokami.
Na przykład, aby wydrukować 5 największych katalogów w katalogu /var
, należy potokować wyjście du
do polecenia sort
, aby posortować katalogi według ich rozmiaru, a następnie potokować dane wyjściowe do polecenia head
, które wydrukuje tylko 5 najpopularniejszych katalogów:
Wniosek #
W Linuksie można uzyskać rozmiar katalogu za pomocą polecenia du
.