Ausgabe von „du“ optimieren

FragenAusgabe von „du“ optimieren
Tjabo Kloppenburg - Montag, 29. September 2003 14:02 Uhr

Jeder kennt das Problem: Irgendeine Platte ist voll, und man will wissen, wo der Platz verbraucht wird.

Das Kommando „du“ listet bekannter Weise alle Verzeichnisse mit der Größe ihres Inhalts auf. Ohne Optionen gibt die Zahl vorne irgendwelche Blöcke an, mit denen man kaum etwas anfangen kann. „du -h“ gibt lesbarere Werte aus, allerdings lässt sich die Liste nicht per „sort“ bzw „sort -n“ sinnvoll sortieren, da z.B. „500“ alphanumerisch größer ist als „40k“.

Listet man „du -b“, dann kann man prima mit „du -b | sort -n“ nach Größe sortieren, allerdings sieht man den langen Zahlen nicht gerade auf den ersten Blick sicher an, wie groß die Zahlen sind. Beispiel: 68812342 – wieviel MB sind das wohl?

Abhilfe schafft hier ein z.B. in Python zu realisierendes Script, das die Zahlenkolonnen sinnvoll formatiert. Die hier vorgestellte Methode ist nur eine von vielen verschiedenen – aber da sie funktioniert bin ich persönlich mit dieser sehr zufrieden:

heim# du -b | sort -n | du2

35.095 ./.mcop
81.920 ./.kde/share/applnk/Settings
86.016 ./.kde/share/applnk
126.897 ./.kde/share
131.023 ./.kde
178.176 ./.mozilla/default/f1dc1uvd.slt/Cache
1.086.245 ./.mozilla/default/f1dc1uvd.slt
1.090.341 ./.mozilla/default
1.095.783 ./.mozilla
8.969.336 .

Schick, oder?

Kopiert man das Script z.B. nach /usr/local/bin/du2 (chmod a+x …), kann man mit dem folgenden Aufruf eine leicht lesbare sortierte Liste des Platzverbrauchs auf die Console zaubern:

heim# du -b | sort -n | du2

35.095 ./.mcop
81.920 ./.kde/share/applnk/Settings
86.016 ./.kde/share/applnk
126.897 ./.kde/share
131.023 ./.kde
178.176 ./.mozilla/default/f1dc1uvd.slt/Cache
1.086.245 ./.mozilla/default/f1dc1uvd.slt
1.090.341 ./.mozilla/default
1.095.783 ./.mozilla
8.969.336 .

Schick, oder?

[1] http://www.home.unix-ag.org/tjabo/python/du2.html

Deine Antwort