ubuntuusers.de

Von „Shell/du“ weitergeleitet.

du

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

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

Hinweis:

Dieser Artikel beschreibt die alte Implementation des Programms. Ab Ubuntu 24.04 ist auch mit Paket rust-coreutils 🇬🇧 eine neue Implementierung in der Programmiersprache Rust für Ubuntu verfügbar, und ab Ubuntu Version 25.10 wird die Implementierung in Rust als Standard bevorzugt.

Die Implementierung in Rust strebt Funktionsgleichheit mit der alten Implementierung an. Es können aber kleine Abweichungen auftreten. Dies bedeutet, dass das hier Beschriebene von der am eigenen Rechner vorgefundenen Situation abweichen kann.

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

 

  • Bis Ubuntu 25.04 ist das Programm im essentiellen Paket coreutils enthalten und deshalb auf jedem System installiert. Diese Variante beruht auf den altbekannten GNU Core Utilities.

  • Ab 25.10 ist das Paket coreutils 🇬🇧 jedoch ein Metapaket, welches alternativ durch gnu-coreutils 🇬🇧 oder rust-coreutils 🇬🇧 oder weitere befriedigt werden kann.

  • Bei 25.10 und 26.04 installiert das Paket coreutils-from-uutils 🇬🇧 beide vorstehend genannten Pakete und aktiviert die rust-coreutils als Vorgabe. Siehe Artikel rust-coreutils zur Umstellung auf die GNU-Utilities.

  • Ab 26.10 soll aber coreutils-from-uutils nur noch die rust-coreutils installieren. Wer dann die alten gnu-coreutils verwenden will, muss coreutils-from-gnu 🇬🇧 manuell installieren.

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 25. September 2026 18:22 von Ruth-Wies erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Shell