Hier ist eine schnelle Lösung: Verwenden Sie du + sort. Versuche dies:
du -smc * | sort -n
Dadurch werden versteckte Dateien ignoriert, aber das ist eine weitere einfache Lösung:
du -smc .[^.] .??* * | sort -n
Dies kann zu Warnungen führen, wenn eines oder mehrere der oben genannten Muster nicht mit einer Datei übereinstimmen. Das erste Muster .[^.]
entspricht allen Dateinamen mit zwei Zeichen, beginnend mit. mit Ausnahme von .. entspricht das zweite Muster .??*
allen drei Buchstaben oder mehr Dateinamen, die mit beginnen. und * stimmt mit allen Dateien überein, die nicht mit beginnen. Für eine komplexere Auflistung, z. B. das Auffinden aller Dateien, die größer als X sind, in einem gesamten Dateisystem oder das Verwalten einer Liste des Dateisystemwachstums habe ich ein DIY-Shell-Skript, das ich geschrieben habe und das Sie bei Interesse weitergeben können.
sort -nr
Sie diese Option, wenn Sie die größten Werte oben haben möchten.So listen Sie die Dateien an einer beliebigen Stelle auf
/tmp
, sortiert nach Größe:So listen Sie die Dateien und Verzeichnisbäume unmittelbar unter auf
/tmp
, sortiert nach Größe:So listen Sie alle Dateien und Verzeichnisbäume
/tmp
nach Größe sortiert auf:(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
mitdu -h
undsort -k1n -k2
mitsort -k1h -k2
. Andernfalls ist hier ein grobes awk-Skript zum Konvertieren in Suffixgrößen (Abrunden). Leiten Sie einfach diesort
Ausgabe oben hinein.quelle
du
Anrufs.Ich verwende folgenden Alias dafür:
alias ds='du -x --all --max-depth=1 . | sort -n'
Es werden die Größen aller Dateien und Unterverzeichnisse der ersten Ebene des aktuellen Verzeichnisses gedruckt.
quelle
Mit der aktuellen Version von gnu sort (und dem Dateimuster @ penguin359 ausleihen)
Mit einer älteren Version
BEARBEITEN: Der Parameter -S wurde hinzugefügt
du
, um Unterverzeichnisse nicht einzuschließen.quelle
--apparent-size
du-Parameter hinzufügen .UPDATE: Ich habe das vorherige Skript verschrottet. Hier ist eine neue Version, die
du
und verwendetawk
(die vorherige verwendettree
undsed
)Dies ist die Ausgabe von:
dusort ~/test 1
Hier ist das Skript
quelle
tree
das. Wenn Sie möchten, dass der Speicherplatz verwendet wird, danndu
tree
man du
, dass es auch die "scheinbare Dateigröße" angeben kann ....The apparent size of a file is the number of bytes reported by
wc -c 'für reguläre Dateien oder allgemeinerls -l --block-size=1' or
stat --format =% s '. Zum Beispiel eine Datei mit dem Wortzoo' with no newline would, of course, have an apparent size of 3.
zeigt zuerst die größten Dateien an, sodass Sie sie verwenden können, qsobald Sie genug gesehen haben.
quelle