Der du-Befehl ist ein Befehl in Linux, der die Größe von Dateien und Verzeichnissen im Dateisystem angibt. du steht für “disk usage” (Festplattenplatzverbrauch).

    Syntax

    du [OPTION]... [FILE]...
    • OPTION: Es stehen verschiedene Optionen zur Verfügung, um das Verhalten des du-Befehls zu ändern. Um eine vollständige Liste der verfügbaren Optionen zu erhalten, können Sie mit man du das Manual abrufen.
    • FILE: Wenn Sie du ohne Argumente ausführen, wird es die Größe aller Dateien und Verzeichnisse im aktuellen Verzeichnis und seinen Unterordnern ausgeben. Wenn Sie du zusammen mit dem Pfad zu einem bestimmten Verzeichnis ausführen, gibt es die Größe aller Dateien und Verzeichnisse in diesem Verzeichnis und seinen Unterordnern an.

    Einige häufig verwendete Optionen sind:

    • -h oder --human-readable: Gibt die Größenangaben in verständlichen Einheit aus, wie Megabyte oder Gigabyte. Standardmäßig gibt du die Größenangaben in Kilobyte an.
    • -s oder --summarize: Zeigt nur die Gesamtgröße für das Verzeichnis an und nicht die Größen jedes Unterordners.
    • -c oder --total: Zeigt die Gesamtgröße aller Verzeichnisse und Dateien an, die überprüft wurden.
    • -a oder --all: Gibt die Größe aller Dateien aus, einschließlich versteckter Dateien.
    • -B <size> oder --block-size=<size>: Legt die Blockgröße fest, die du verwenden soll, um die Größe anzuzeigen. Zum Beispiel -B M gibt die Größe in Megabyte aus. Die default Blockgröße ist 1 KB.
    • -L oder --dereference: Gibt die Größe von symbolischen Links anstelle des Ziels aus.
    • -x oder --one-file-system: Gibt nur die Größe von Dateisystemen im selben Gerätepfad wie das angegebene Verzeichnis aus.
    • -x <pattern> oder --exclude=<pattern>: Schließt Dateien oder Verzeichnisse aus, auf die das Angegebe Pattern zutrifft.

    Beispiele

    Anzeigen des Speicherplatzverbrauchs von allen Dateien und Verzeichnissen in einem Verzeichnis

    du -a /home/mein_benutzername/dokumente

    Gibt die Größe jedes Verzeichnisses und jeder Datei im Verzeichnis /home/mein_benutzername/dokumente und seinen Unterordnern aus. Die Option -a (oder --all) zeigt alle Dateien im Verzeichnis an, einschließlich versteckter Dateien.

    $ du -a /home/mein_benutzername/dokumente
    342     /home/mein_benutzername/dokumente/datei1.txt
    876     /home/mein_benutzername/dokumente/ordner1
    50      /home/mein_benutzername/dokumente/.versteckte_datei.txt
    126     /home/mein_benutzername/dokumente/datei2.txt
    1394    /home/mein_benutzername/dokumente
    $

    Anzeigen des Speicherplatzverbrauchs von allen Dateien und Verzeichnissen unterhalb eines Verzeichnisses

    du -s /home/mein_benutzername/dokumente

    Gibt nur die Gesamtgröße des Verzeichnisses /home/mein_benutzername/dokumente und seiner Unterordner aus. Die Option -s (oder --summarize) zeigt nur eine Gesamtgröße an, ohne einzelne Dateien oder Unterordner aufzulisten.

    $ du -s /home/mein_benutzername/dokumente
    1394    /home/mein_benutzername/dokumente
    $

    Anzeigen des Speicherplatzverbrauchs von Dateien und Verzeichnissen in einer Liste

    du /home/mein_benutzername/dokumente /home/mein_benutzername/bilder /var/log

    Gibt die Größe jedes Verzeichnisses und jeder Datei in den Verzeichnissen /home/mein_benutzername/dokumente, /home/mein_benutzername/bilder und /var/log aus. Ohne Optionen gibt du die Größe aller angegebenen Verzeichnisse aus.

    $ du /home/mein_benutzername/dokumente /home/mein_benutzername/bilder /var/log
    574     /home/mein_benutzername/dokumente
    3286    /home/mein_benutzername/bilder
    987654  /var/log
    $

    Ausschließen von Dateien und Verzeichnissen beim Anzeigen des Speicherplatzverbrauchs

    du --exclude='*.tmp' /home/mein_benutzername/dokumente

    Gibt die Größe jedes Verzeichnisses und jeder Datei im Verzeichnis /home/mein_benutzername/dokumente und seinen Unterordnern aus, wobei alle Dateien mit der Erweiterung .tmp ausgeschlossen werden. Die Option --exclude schließt Dateien oder Verzeichnisse aus, die auf das angegebene Muster zutreffen.

    $ du --exclude='*.tmp' /home/mein_benutzername/dokumente
    342     /home/mein_benutzername/dokumente/datei1.txt
    126     /home/mein_benutzername/dokumente/datei2.txt
    1032    /home/mein_benutzername/dokumente
    $

    Links