Wiem, że możesz zobaczyć rozmiar bajtu pliku, gdy robisz długą listę z ll
lub ls -l
. Ale chcę wiedzieć, ile miejsca jest w katalogu, w tym pliki w tym katalogu i znajdujące się w nim podkatalogi itp. Nie chcę liczby plików, ale ilość miejsca, które zajmują te pliki.
Więc chcę wiedzieć, ile miejsca jest w danym katalogu rekurencyjnie? Zgaduję, że jeśli istnieje polecenie, to byłoby w bajtach.
directory
disk-usage
recursive
Rob Avery IV
źródło
źródło
-b
do wyniku w bajtachPo prostu robisz:
gdzie
-s
jest skrótem i czytelny-h
dla człowieka ( opcja niestandardowa ).Uważaj jednak, w przeciwieństwie do
ls
tego, nie wyświetli to rozmiaru pliku, ale użycie dysku (tj. Wielokrotność wielkości bloku systemu plików), ale plik może być mniejszy lub nawet większy, więc możesz użyć--apparent-size
opcji:Jest to rozmiar, który byłby przesyłany przez sieć, gdybyś musiał.
Rzeczywiście, plik może mieć „dziury” (pustą powłokę), może być mniejszy niż rozmiar bloku systemu plików, może być skompresowany na poziomie systemu plików itp. Strona podręcznika wyjaśnia to.
Jak zauważa Nicklas , możesz także użyć analizatora użycia dysku. Uruchomiony z katalogu pokaże, które foldery i pliki zajmują miejsce na dysku, uporządkując je od największego do najmniejszego.
ncdu
Możesz również zobaczyć to pytanie .
źródło
Zauważ, że jeśli chcesz znać rozmiar wszystkich folderów {sub} w katalogu, możesz również użyć opcji
-d
lub--max-depth
opcjidu
(która przyjmuje argument: limit rekurencyjny)Na przykład :
Pokaże ci coś takiego
PS: Wpisanie
0
jako limit rekurencyjny jest równoważne-s
opcji. Te 2 polecenia dadzą ci ten sam wynik (twój katalog rekurencyjny rozmiar czytelny dla człowieka):źródło
-d 1
musi znajdować się przed ścieżką kataloguAlternatywą dla wspomnianego już
du
polecenia byłbyncdu
ładny analizator użycia dysku do użycia w terminalu. Być może trzeba go najpierw zainstalować, ale jest on dostępny w większości repozytoriów pakietów.Edycja: Aby zapoznać się z formatem wyjściowym, zobacz zrzuty ekranu http://dev.yorhel.nl/ncdu/scr
źródło
Spowoduje to wyświetlenie listy rozmiarów z bieżącego katalogu, w tym folderów (rekurencyjnych) i plików.
źródło
W Uniksie katalog zawiera tylko nazwy i odniesienia do obiektów systemu plików (i-węzły, które mogą odnosić się do katalogów, plików lub innych egzotycznych rzeczy). Plik może pojawić się pod kilkoma nazwami w tym samym katalogu lub znajdować się w kilku katalogach. Tak więc „miejsce używane przez katalog i pliki w środku” naprawdę nie ma sensu, ponieważ pliki nie są „wewnątrz”.
To powiedziawszy, polecenie
du(1)
wyświetla przestrzeń zajmowaną przez katalog i wszystko, co jest przez niego osiągalne,du -s
daje podsumowanie, a-h
niektóre implementacje, takie jak GNU,du
dają wyjście „czytelne dla człowieka” (tj. Kilobajt, megabajt).źródło
Dla mnie działało to wstecz w przypadku głębokości i ścieżki na OS X El Capitán
źródło
Możesz użyć „file-size.sh” z biblioteki awk Velor :
źródło