h1

Finde den größten Speicherfresser

September 8, 2008

Im Buch der 100 Linux Server Hacks von Rob Flickenger gibt es einen Hack mit Namen „Spielen Sie Finde-den-größten-Plattenfresser“, bei dem folgender Alias vorgestellt wird:

alias ducks=’du -cks * |sort -rn |head -11′

Schreibt man diesen Alias in seine .bashrc, erhält man von überall mit dem Aufruf ducks eine Liste von den 10 größten „Plattenfressern“ innerhalb des aktuellen Verzeichnises. Allerdings ist die Ausgabe in KiloBytes, was doch ein wenig stört. Besser wäre es doch, wenn die Ausgabe der Größe im „human readable“-Format wäre. Kein Problem denkt man sich, ein -h beim du Kommando ist doch laut Manpage dafür da. Das Problem ist, dass sort dann nicht mehr richtig sortieren kann, so dass es 20K vor 50G ordnen würde, was natürlich völlig falsch wäre.

Eine Variante, die Ausgabe im richtigen Format und richtiger Sortierung zu bekommen sieht so aus:

alias ducks=“du -s * | sort -rn | head -11 | awk ‚{print $2}‘ | xargs du -sh“

oder

alias ducks=“du -sh `du -s * | sort -rn | head -11 | awk ‚{print $2}’`“

bei der zweiten Variante verzichtet man dann auf den Aufruf von xargs.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: