Android

So ermitteln Sie die Größe eines Verzeichnisses unter Linux

Windows: Verzeichnis drucken

Windows: Verzeichnis drucken

Inhaltsverzeichnis:

Anonim

Wenn Sie den Inhalt eines Verzeichnisses mit dem Befehl ls auflisten, haben Sie möglicherweise festgestellt, dass die Größe der Verzeichnisse fast immer 4096 Byte (4 KB) beträgt. Das ist die Größe des Speicherplatzes auf der Festplatte, der zum Speichern der Metainformationen für das Verzeichnis verwendet wird, nicht für die darin enthaltenen Informationen.

Der Befehl, mit dem Sie die tatsächliche Größe eines Verzeichnisses ermitteln möchten, lautet du , was für „disk usage“ (Datenträgerverwendung) steht.

Abrufen der Größe eines Verzeichnisses

Der Befehl du zeigt den von den angegebenen Dateien oder Verzeichnissen belegten Dateibereich an. Wenn der angegebene Pfad ein Verzeichnis ist, fasst du die Festplattennutzung jedes Unterverzeichnisses in diesem Verzeichnis zusammen. Wenn kein Pfad angegeben wird, gibt du die Datenträgernutzung des aktuellen Arbeitsverzeichnisses an.

Beim Aufrufen ohne Optionen zeigt du die Festplattennutzung des angegebenen Verzeichnisses und aller seiner Unterverzeichnisse in Byte an.

Normalerweise möchten Sie den vom Verzeichnis belegten Speicherplatz in einem für Menschen lesbaren Format anzeigen. Um beispielsweise die Gesamtgröße des Verzeichnisses /var , führen Sie den folgenden Befehl aus:

sudo du -sh /var

Die Ausgabe sieht ungefähr so ​​aus:

85G /var

Lassen Sie uns den Befehl und seine Argumente erklären:

  • Der Befehl beginnt mit sudo da die meisten Dateien und Verzeichnisse im Verzeichnis /var dem Root-Benutzer gehören und von den regulären Benutzern nicht gelesen werden können. Wenn Sie sudo weglassen, gibt der Befehl du "du: Verzeichnis kann nicht gelesen werden" aus. s - Nur die Gesamtgröße des angegebenen Verzeichnisses anzeigen, nicht die Gesamtgröße der Dateien für Unterverzeichnisse anzeigen. h - Druckformate in einem für Menschen lesbaren Format ( h ). /var - Der Pfad zu dem Verzeichnis, dessen Größe Sie ermitteln möchten.

Was ist, wenn Sie die Datenträgerverwendung der Unterverzeichnisse der ersten Ebene anzeigen möchten? Sie haben zwei Möglichkeiten. Das erste ist die Verwendung des Sternsymbols ( * ) (siehe unten). -c bedeutet, dass alle Elemente, die nicht mit einem Punkt ( . ) Beginnen, übereinstimmen. Die Option -c weist Sie an, eine Gesamtsumme aller Größen zu drucken:

sudo du -shc /var/*

24K /var/db 4.0K /var/empty 4.0K /var/games 77G /var/lib 4.0K /var/local 0 /var/lock 3.3G /var/log 0 /var/mail 4.0K /var/opt 0 /var/run 196K /var/spool 28K /var/tmp 85G total

Eine andere Möglichkeit, einen Bericht über die Datenträgerverwendung der Unterverzeichnisse der ersten Ebene --max-depth ist die Verwendung der Option --max-depth :

sudo du -h --max-depth=1 /var

77G /var/lib 24K /var/db 4.0K /var/empty 4.0K /var/local 4.0K /var/opt 196K /var/spool 4.0K /var/games 3.3G /var/log 5.0G /var/cache 28K /var/tmp 85G /var 85G total

Standardmäßig zeigt der Befehl du den vom Verzeichnis oder der Datei belegten Speicherplatz an. Verwenden Sie die Option --apparent-size um die scheinbare Größe eines Verzeichnisses zu ermitteln. Die „scheinbare Größe“ einer Datei gibt an, wie viele Daten sich tatsächlich in der Datei befinden.

sudo du -sh --apparent-size /var

Wenn Sie ein Verzeichnis über SCP, Rsync oder SFTP übertragen, entspricht die Datenmenge, die über das Netzwerk übertragen wird, der scheinbaren Größe der Dateien. Aus diesem Grund stimmt die Größe des Speicherplatzes auf der Festplatte, der auf der Quelle verwendet wird, wenn du angezeigt wird (ohne --apparent-size ), nicht mit der Größe auf dem Ziel überein.

Der Befehl du kann auch mit anderen Befehlen mit Pipes kombiniert werden.

Wenn Sie beispielsweise die 5 größten Verzeichnisse im Verzeichnis /var drucken möchten, leiten Sie die Ausgabe von du an den Befehl sort weiter, um die Verzeichnisse nach ihrer Größe zu sortieren, und leiten Sie die Ausgabe dann an den Befehl head , mit dem nur die fünf wichtigsten Verzeichnisse gedruckt werden:

sudo du -h /var/ | sort -rh | head -5

85G /var/ 77G /var/lib 75G /var/lib/libvirt/images 75G /var/lib/libvirt 5.0G /var/cache/pacman/pkg

Fazit

Unter Linux können Sie die Größe eines Verzeichnisses mit dem Befehl du abrufen.

du terminal disk