So überprüfen Sie die Verzeichnisgröße über die Linux-Befehlszeile

0
169

Während der Linux-Befehl ls die Größe von Dateien anzeigen kann, tut er das nicht. 8217; funktioniert nicht richtig mit Verzeichnissen, die immer als 4096 Bytes angezeigt werden. Sie müssen den du-Befehl verwenden, um in Unterverzeichnisse zu rekursieren und eine Gesamtsumme auszugeben.

Den du-Befehl verwenden

Der beste Ersatz für ls ist die Verwendung von du mit ein paar Flags:

du -had 1

Das Flag -h steht für “vom Menschen lesbar” und formatiert die Größen in KB, MB und GB für Sie, anstatt dass Sie einen Taschenrechner holen müssen.

Das Flag -a ist „all” und enthält sowohl einzelne Dateien als auch Verzeichnisse, was es nützlich macht, die Funktionsweise von ls nachzuahmen.

Das Flag -d 1 ist eine Grenze dafür, wie tief du die Ergebnisse drucken wird. Standardmäßig ist es so konfiguriert, dass es jedes einzelne Unterverzeichnis ausgibt, was bei vielen verschachtelten Dateien ein Problem sein kann. Das Flag -d addiert sie alle und gibt die Gesamtsumme für jedes sichtbare Verzeichnis aus, von dem aus Sie den Befehl ausführen.

Werbung

Wenn Sie möchten, dass jedes Verzeichnis aufgelistet wird, können Sie den Befehl mit dem Flag –apparent-size ausführen, das die Gesamtgröße jedes Unterverzeichnisses anzeigt, als ob Sie mit der rechten Maustaste auf > Eigenschaften in Ihrem Datei-Explorer.

Dies ist jedoch alles durcheinander. Wenn Sie also die größten Verzeichnisse im aktuellen Ordner anzeigen möchten, können Sie die Ausgabe an den Sortierbefehl weiterleiten. Stellen Sie sicher, dass Sie auch das Flag -h verwenden, sonst behandelt sort 128 MB als eine größere Zahl als 1 GB.

du -had 1 | sort -rh

Standardmäßig verwendet du das aktuelle Verzeichnis, aber Sie können auch auf bestimmte Verzeichnisse abzielen. Übergeben Sie einfach den Standort als letztes Argument.

du -had 1 ./world/

Die größten Verzeichnisse auf Ihrem Server finden

Eine häufige Aufgabe unter Linux ist das Debuggen großer Mengen an Festplattennutzung. Wenn Sie die Gesamtnutzung für jedes Laufwerk anzeigen möchten, können Sie df -h verwenden oder ein Überwachungstool wie Glows installieren, das es übersichtlicher anzeigt:

Dies führt jedoch keinen Drilldown in Verzeichnisse durch und findet die Ursache des Problems nicht. Dafür können Sie du verwenden, aber das Flag -d 1 entfernen, damit jedes Verzeichnis durchsucht wird. Richten Sie es auf Root aus, sortieren Sie es und filtern Sie nach den Top-25-Verzeichnissen, damit Ihr Bildschirm nicht überschwemmt wird.

du -ah/| sortieren -rh | head -n 25

Dies kann einige Fehler für Dateien ausgeben, die es enthält kann nicht zugreifen; Stellen Sie sicher, dass Sie es mit sudo ausführen.