Welcher Befehl druckt die Größen aller Dateien und Verzeichnisse im tmp-Verzeichnis (einschließlich der versteckten) und sortiert sie nach Größen vom
größten zum kleinsten in menschenlesbarem Format (z. B. 2 GB)?
Die Ausgabe könnte wie folgt aussehen:
file.mpg 2GB
file.avi 1.8GB
.backtup 1.7 GB (this is directory)
Ich habe versucht, den ls
zu verwenden und du
Befehle, konnte aber nicht die richtigen Schalter finden.
Akzeptierte Antwort:
Hier ist eine schnelle Lösung, verwenden Sie du + sort. Versuchen Sie Folgendes:
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 .[^.]
stimmt mit allen Dateinamen mit zwei Zeichen überein, die mit beginnen. außer .., das zweite Muster, .??*
stimmt mit allen drei Buchstaben oder mehr Dateinamen überein, die mit beginnen. und * stimmt mit allen Dateien überein, die nicht mit beginnen. Für eine anspruchsvollere Auflistung, wie z. B. das Auffinden aller Dateien, die größer als X in einem ganzen Dateisystem sind, oder das Führen einer Liste des Dateisystemwachstums, habe ich ein DIY-Shell-Skript, das ich geschrieben habe und das ich bei Interesse teilen kann.