Jak uzyskać rozmiar katalogu w systemie Linux

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 pominiesz sudo polecenie du 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.

Write a Comment

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *