So listen Sie die Dateien an einer beliebigen Stelle auf /tmp
, sortiert nach Größe:
find /tmp -type f -exec du -k {} + | sort -k1n -k2
So listen Sie die Dateien und Verzeichnisbäume unmittelbar unter auf /tmp
, sortiert nach Größe:
du -k /tmp/..?* /tmp/.[!.]* /tmp* 2>/dev/null | sort -k1n -k2
So listen Sie alle Dateien und Verzeichnisbäume /tmp
nach Größe sortiert auf:
du -ak /tmp | sort -k1n -k2
(Ein Beispiel zur Veranschaulichung des Unterschieds zwischen den drei Befehlen: Wenn eine Datei vorhanden ist /tmp/dir/file
, werden die erste Befehlsliste /tmp/dir/file
, die zweite Liste /tmp/dir
und die dritte Liste aufgelistet.)
Alle obigen Befehle zeigen Größen in Kilobyte. Während GNU du "vom Menschen lesbare" Größen ausgeben kann (mit Multiplikatoren k, M, G usw.), ist das Sortieren eine andere Sache. Aktuelles genug GNU coreutils (≥7.4) kann es tun: einfach ersetzen du -k
mit du -h
und sort -k1n -k2
mit sort -k1h -k2
. Andernfalls ist hier ein grobes awk-Skript zum Konvertieren in Suffixgrößen (Abrunden). Leiten Sie einfach die sort
Ausgabe oben hinein.
awk -vFS='\t' -vOFS='\t' '{
if ($1) $1 = substr($1,1,(length($1)-1)%3+1)
substr("kMGTPEZY",(length($1)-1)/3+1,1);
print}'