Ich möchte den Inhalt einer Festplatte auf die von den einzelnen Ordnern verbrauchten Größen hin analysieren und herausfinden, wo wieviel Platz verbraucht wird.
Man könnte zu diesem Zweck auch Programme mit schöner Benutzeroberfläche und Visualisierung verwenden: z.B. GrandPerspective (MacOSX) oder WinDirStat (Windows) und KDirStat (Linux); alle basieren meines Wissens auf den Forschungsarbeiten zu SequoiaView.
Aber unter UNIX gibt es ja auch schöne Kommandozeilen-Tools. Und eines davon listet die Ordner (Verzeichnisse, Directories) auch einzeln mit ihrer Größe auf: „du“. mit „-b“ wird die Ausgabe von Bytes als Größenangabe erbeten und die Darstellungstiefe mit „–max-depth=3“ auf drei Ebenen begrenzt; ein nachgeschaltetes „sort“ sortiert die ausgegebenen Zeilen aufsteigend:
du . -b --max-depth=3 | sort -g
Der Punkt für das aktuelle Verzeichnis kann durch einen beliebigen Pfad ersetzt werden.
Aber auf dem Mac funktioniert das nicht richtig und die Angaben stimmen nicht mit den Angaben des Finders überein. Warum!?
Der o.a. Befehl ist für Debian Linux gültig, aber nicht für MacOSX, denn die Reihenfolge der Optionen ist bei MacOSX anders und „-b“ und „–max-depth“ gibt es auf dem Mac schon mal gar nicht. Besser:
sudo du -k -d 3 /Volumes/Macintosh\ HD/ | sort -g
Das liefert die Größenangabe zwar nicht in Bytes, aber in Kilobyte-Blöcken (1024 Byte) und die Angaben stimmen mit dem Finder fast überein. Fast, weil es eben nicht auf’s Kilobyte genau stimmt, sondern vielleicht die Verzeichniseinträge auch aufsummiert werden oder die Kilobytes der von der Datei belegten Blöcke gerechnet werden und nicht nur die Dateigröße selbst.
Durch das nachgeschaltete (gepipete ;-) „sort“ wurden die Fehlermeldungen quasi ausgefiltert.
Umpf. Ich werde noch zu einem qualifizierten UNIX-Hater (PDF), mit „Barf Bag“.