Chcę uzyskać listę katalogów i ich rozmiarów w formacie listy, takim jak sposób uzyskiwania, gdy robisz ls -l
.
Chodzi o to, że istnieje jedno wierszowe polecenie, które może to zrobić? Widzę, że inni mają długie polecenia tylko po to, by to wyprowadzić. To po prostu za długo.
Jakie polecenie może to zrobić lub kombinację poleceń, które można łatwo wpisać? du -h
daje, ale wyświetla wszystkie podfoldery, co nie jest tym, czego chcę. tylko bieżące foldery katalogów.
bash: /run/current-system/sw/bin/du: Argument list too long
Spróbuj tego
Wynik
Alternatywny
Jeśli
--max-depth=1
twój gust jest nieco za długi, możesz także spróbować użyć:Używa
-s
(--summarize
) i domyślnie drukuje tylko rozmiar samego folderu. Przekazując wszystkie elementy w bieżącym katalogu roboczym (*
), generuje podobne dane wyjściowe--max-depth=1
:Wynik
Różnica jest subtelna. Poprzednie podejście wyświetla całkowity rozmiar bieżącego katalogu roboczego i całkowity rozmiar wszystkich zawartych w nim folderów ... ale tylko do głębokości 1.
To drugie podejście obliczy całkowity rozmiar wszystkich przekazanych elementów indywidualnie . Tak więc zawiera dowiązanie symboliczne
lib64
na wyjściu, ale wyklucza ukryte elementy (których nazwa zaczyna się od kropki). Brakuje również całkowitego rozmiaru bieżącego katalogu roboczego, ponieważ nie został on przekazany jako argument.źródło
--depth
parametr nie jest rozpoznawany. Użyjdu -h -d 1
dla tego samego rezultatu.Wydrukuj rozmiary wszystkich folderów plików i ukrytych plików na dysku:
źródło
Warto wspomnieć o poleceniu powłoki Użycie dysku NCurses .
źródło