Jak uzyskać rozmiar katalogu w wierszu poleceń?

Próbowałem uzyskać rozmiar katalogu (zawierającego katalogi i podkatalogi) za pomocą komendy ls z opcją l. Wydaje się, że działa to dla plików (ls -l nazwa pliku), ale jeśli spróbuję uzyskać rozmiar katalogu (na przykład, ls -l /home), otrzymam tylko 4096 bajtów, chociaż w sumie jest on znacznie większy.

Rozwiązanie

du -sh file_path

Wyjaśnienie

  • Komenda du (disc usage) szacuje wykorzystanie przestrzeni w ścieżce pliku

  • Opcje -sh są (z man du):

       -s, --summarize
              wyświetla tylko sumę dla każdego argumentu
    
       -h, --czytelny dla człowieka
              drukuj rozmiary w formacie czytelnym dla człowieka (np. 1K 234M 2G)

    Aby sprawdzić więcej niż jeden katalog i zobaczyć sumę, użyj du -sch:

       -c, --total
              wyświetli sumę całkowitą
Komentarze (4)

du jest twoim przyjacielem. Jeśli chcesz tylko poznać całkowity rozmiar katalogu, to wskocz do niego i uruchom:

du -hs

Jeśli chciałbyś również wiedzieć, które podkatalogi zajmują ile miejsca na dysku? Możesz rozszerzyć to polecenie do:

du -h --max-depth=1 | sort -hr

co da Ci rozmiar wszystkich podfolderów (poziom 1). Dane wyjściowe zostaną posortowane (największy folder na górze).

Komentarze (3)

Komenda du pokazuje użycie dysku dla danego pliku.

Opcja -h pokazuje wyniki w formie czytelnej dla człowieka (np. 4k, 5M, 3G).

du -h (file name)
Komentarze (0)