ubuntuusers.de

du

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. ⚓︎ Terminal - einen Terminal öffnen

Wiki/Icons/terminal.png Das Programm disk usage zeigt den von den ihm genannten Dateien (bzw. bei jedem Verzeichnis auch rekursiv aller darin enthaltenen Dateien) belegten Platz an. Wenn man ihm keine Datei benennt, untersucht es das momentane Arbeitsverzeichnis.

Der Befehl df zeigt dagegen den freien Platz an.

Installation

Das Programm du ist im essentiellen Paket

  • coreutils

von Ubuntu enthalten und ist deshalb auf jedem System installiert.

Aufruf

Kurze Syntaxbeschreibung für die Verwendung in der Shell[1]:

du [OPTIONEN] [DATEIEN] 

Die Angabe von einer oder mehrerer Dateien ist ebenfalls optional. Wird eine Datei angegeben, gibt du nur Informationen über die Partition aus, auf der sich DATEI befindet. Ohne Optionen wird die Belegung in Blöcken à 1024 Byte ausgegeben.

Optionen

OptionLangformBeschreibung
-a --all gibt die Belegung für alle Dateien, nicht nur Verzeichnisse an
--apparent-size gibt die eigentliche Dateigröße an, statt der Belegung der Festplatte. Wenn diese normalerweise kleiner ist, kann sie auch aufgrund von Löchern in "verteilten" Dateien, indirekten Blöcken und Ähnlichem, größer sein
-B --block-size=GRößE verwendet GRößE-byte Blöcke
-b --bytes entspricht --apparent-size --block-size=1
-c --total erstellt die Gesamtgröße
-D --dereference-args dereferenziert Dateien, die symbolische Links sind
-h --human-readable gibt die Größen in verständlichem Format an (wie 1K 234M oder 2G)
--si wie -h, aber mit Vielfachen von 1000 statt 1024
-k entspricht --block-size=1K (Standard)
-l --count-links zählt die Größen mehrmals, wenn es sich um Hard-Links handelt
-L --dereference dereferenziert alle symbolischen Links
-P --no-dereference symbolischen Links nicht folgen (dies ist die Standardeinstellung)
-0 --null beendet jede Ausgabezeile mit einem 0 Byte Zeichen, statt mit einem newline
-S --separate-dirs die Größe der Unterverzeichnisse nicht miteinbeziehen
-s --summarize gibt nur die Gesamtgröße für jedes Argument an
-x --one-file-system überspringt Verzeichnisse, die in einem anderen Dateisystem liegen
-X Datei --exclude-from=DATEI schließt alle Dateien aus der Untersuchung aus, die auf ein Muster aus DATEI passen
--exclude=MUSTER schließt Dateien aus, auf die MUSTER passt
--max-depth=N gibt die Gesamtgröße eines Verzeichnisses nur aus, wenn es nicht tiefer als N Ebenen unter dem übergebenen Argument liegt. --max-depth=0 entspricht --summarize
-m entspricht --block-size=1M (veraltet)
--help gibt den Hilfe-Text aus
--version gibt die Versionsinformationen aus

Hinweis:

Bei den zu verwendenden Mustern handelt es sich um Shell-Wildcard Muster, nicht um Reguläre Ausdrücke (regular expressions).

Beispiele

Den gesamten belegten Platz des gesamten Dateisystems anzeigen:

sudo du -hs / 

Beachte dabei, dass alle eingebundenen Dateisysteme inkl. z.B. Netzkaufwerken und Snaps mitgezählt werden! Wenn man das nicht beabsichtigt, muss man die Einbindepunkte der weiteren Dateisystem per Option explizit ausschließen, beispielsweise:

sudo du -hs --exclude=/snap/* / 

Den gesamten Platz angeben, den das aktuelle Verzeichnis einnimmt:

du -hs . 

Die Belegung aller ".pdf"-Dateien im aktuellen Verzeichnis einzeln und insgesamt in Blöcken à 1024 Byte ausgeben:

du -c *.pdf 

Den belegten Platz nach Größe sortieren:

du -h * | sort -hr 

Den Platz angeben, den das aktuelle Verzeichnis einnimmt, wenn alle ".tar"-Dateien ignoriert werden:

du --exclude="*.tar*" -hs 

Diese Revision wurde am 17. Dezember 2022 09:01 von kB erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Shell