Które polecenie wydrukuje rozmiary wszystkich plików i katalogów w katalogu tmp (w tym ukrytych) i posortuje je według rozmiarów od największego do najmniejszego w formacie czytelnym dla człowieka (np. 2 GB)?
Dane wyjściowe mogą wyglądać następująco:
file.mpg 2GB
file.avi 1.8GB
.backtup 1.7 GB (this is directory)
Próbowałem użyć poleceń ls
i du
, ale nie byłem w stanie znaleźć odpowiednich przełączników.
źródło
sort -nr
jeśli chcesz mieć najwyższe wartości na górze.Aby wyświetlić listę plików w dowolnym miejscu
/tmp
, posortowane według rozmiaru:Aby wyświetlić listę plików i drzew katalogowych bezpośrednio poniżej
/tmp
, posortowane według rozmiaru:Aby wyświetlić listę wszystkich plików i drzew katalogowych w dowolnym miejscu poniżej
/tmp
, posortowane według rozmiaru:(Przykład ilustrujący różnicę między trzema poleceniami: jeśli istnieje plik
/tmp/dir/file
, lista pierwszych poleceń/tmp/dir/file
, druga lista/tmp/dir
i trzecia lista oba).Wszystkie powyższe polecenia pokazują rozmiary w kilobajtach. Podczas gdy GNU du może generować rozmiary „czytelne dla człowieka” (z mnożnikami k, M, G itp.), Sortowanie ich to inna sprawa. Wystarczającej ilości aktualnych coreutils GNU (≥7.4) może to zrobić: wystarczy wymienić
du -k
zdu -h
isort -k1n -k2
zsort -k1h -k2
. W przeciwnym razie oto prosty skrypt awk do konwersji na przyrostki (zaokrąglanie w dół); po prostu potokujsort
wyjście powyżej.źródło
du
połączenia.Używam do tego następującego aliasu:
alias ds='du -x --all --max-depth=1 . | sort -n'
Drukuje rozmiary wszystkich plików i podkatalogów 1. poziomu bieżącego katalogu.
źródło
Z bieżącą wersją gnu sort (i pożyczeniem wzorca pliku @ penguin359)
Ze starszą wersją
EDYCJA: dodano parametr -S ,
du
aby nie uwzględniać podkatalogów.źródło
--apparent-size
do parametrów du.AKTUALIZACJA: Zeskrobałem poprzedni skrypt. Oto nowa wersja, wykorzystująca
du
iawk
(poprzednia używanatree
ised
)To jest wynik:
dusort ~/test 1
Oto skrypt
źródło
tree
robi. jeśli chcesz użyć miejsca na dysku, todu
robi to ... (tree
nieman du
, że może również zgłaszać „pozorny rozmiar pliku” ....The apparent size of a file is the number of bytes reported by
wc -c ”w zwykłych plikach, lub bardziej ogólnie,ls -l --block-size=1' or
stat --format =% s ”. Na przykład plik zawierający słowozoo' with no newline would, of course, have an apparent size of 3.
pokazuje najpierw największe pliki, więc możesz korzystać z niego, qgdy tylko zobaczysz wystarczająco dużo.
źródło