Zum Inhalt springen

Du: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „ big"“ durch „"“
 
(21 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''du''' - Zeigt den belegten Speicherplatz für ein Verzeichnis und dessen Unterverzeichnisse
'''du''' - Belegten Speicherplatz anzeigen


== Beschreibung ==
== Beschreibung ==
; disk usage (du)
Zeigt belegten Speicherplatz für ein Verzeichnis und dessen Unterverzeichnisse
* Ohne Angabe von Optionen erfolgt die Ausgabe für den aktuellen Ordner und in der Einheit Kilobyte
* Ohne Angabe von Optionen erfolgt die Ausgabe für den aktuellen Ordner und in der Einheit Kilobyte
* <tt>'''du'''</tt> (disk usage) zeigt die Verteilung des belegten Plattenplatzes auf die Verzeichnisse
* <tt>'''du'''</tt> (disk usage) zeigt die Verteilung des belegten Plattenplatzes auf die Verzeichnisse
Zeile 7: Zeile 10:
* Wenn die Umgebungsvariable <tt>POSIXLY_CORRECT</tt> gesetzt ist, wird die Menge in 512 Byte Blöcken angegeben
* Wenn die Umgebungsvariable <tt>POSIXLY_CORRECT</tt> gesetzt ist, wird die Menge in 512 Byte Blöcken angegeben
== Installation ==
== Installation ==
<syntaxhighlight lang="bash" highlight="1" line copy>
[[du]] ist Teil der [[GNU Core Utilities]]
</syntaxhighlight>


== Aufruf ==
== Aufruf ==
<syntaxhighlight lang="bash" highlight="1" line copy>
<syntaxhighlight lang="bash" highlight="1">
du [Option(en)] [Dateien]
</syntaxhighlight>
</syntaxhighlight>


'''du''' [Option(en)] [Dateien]
<syntaxhighlight lang="bash" highlight="1">
 
du [-abcklsxDLS] [-all] [-total] [-count-links] [-summarize] [-bytes] [-kilobytes] [-one-file-system] [-separate-dirs] [-dereference] [-dereference-args] [''Verzeichnis'' ...]
'''du''' [-abcklsxDLS] [-all] [-total] [-count-links] [-summarize] [-bytes] [-kilobytes] [-one-file-system] [-separate-dirs] [-dereference] [-dereference-args] [''Verzeichnis'' ...]
</syntaxhighlight>


=== Optionen ===
=== Optionen ===
{| class="wikitable sortable options gnu big"
{| class="table table-striped table-hover sortable options gnu"
|-
|-
! Unix !! GNU !! Parameter !! Beschreibung
! Unix !! GNU !! Parameter !! Beschreibung
|-
|-
| || || ||
| -a || --all
|-
| || Ausgabe erfolgt auch für Dateien
|}
 
{| class="wikitable options big"
|-
! Option !! !! Beschreibung
|-
| -a || --all || Ausgabe erfolgt auch für Dateien
|-
| -b || --bytes || Ausgabe erfolgt in Bytes
|-
| -c || --total || Anzeige der Gesamtgröße
|-
| -h || --human-readable || gibt die Größen in verständlicher Form aus (wie 1K 23M oder 4G)
|-
| -l || --count-links || zählt die Größen mehrfach, wenn es sich um Hard-Links handelt
|-
| -s || --separate-dirs || die Größe der Unterverzeichnisse werden nicht miteinbezogen
|-
| -x || --one-file-system || ignoriert Verzeichnisse, die in einem anderen Dateisystem liegen
|-
|-
| -s || --summarize || gibt nur die Gesamtgröße für jedes Argument an
| -b || --bytes
| || Ausgabe in Byte
|-
|-
| -D || --dereference-args || folgt dem Verweis auf ein anderes Verzeichnis bei einem symbolischen Link, wenn dieser als
| -c || --total
Kommandozeilenargument übergeben wird. Andere symbolische Links werden nicht dereferenziert
| || Gesamtgröße der übergebenen Dateien
|-
|-
|}
| -d
 
| --max-depth=
{| class="wikitable options big"
|N
|Summe für ein Verzeichnis ausgeben (oder einer Datei, mit --all) nur, wenn es N oder weniger Ebenen unterhalb des Befehlszeilenarguments ist. --max-depth=0 ist dasselbe wie --summarize.
|-
|-
| | '''-a '''
| -D || --dereference-args
| | (all) zeigt auch den Platzbedarf aller Dateien
| || Löst nur symbolische Verknüpfungen auf, die auf der  Befehlszeile angegeben wurden.
|-
|-
| | '''-b '''
| -h || --human-readable
| | (bytes) zeigt den Platzbedarf in Bytes
| || Größe in menschenlesbaren Einheiten (K,M,G)
|-
|-
| | '''-c '''
| | '''-k '''
| | zeigt den (summierten) Platzbedarf der in der Kommandozeile übergebenen Dateien
| --block-size=1K
|
| | Ausgabe in Kilobyte (auch wenn die Umgebungsvariable <tt>POSIXLY_CORRECT</tt> gesetzt ist)
|-
|-
| | '''-k '''
| -l || --count-links
| | (kilobytes) gibt den Platzbedarf in Kilobytes, auch wenn die Umgebungsvariable <tt>POSIXLY_CORRECT</tt> gesetzt ist
| || Zählt [[Hardlink|Hardlinks]] mehrfach
|-
|-
| | '''-l '''
| | '''-L '''
| | zählt die Größe der (harten) Links mit, auch wenn sie dadurch doppelt vorkommen
| --dereference
|
| | Symbolischen Links dereferenzieren, es wird der Platzbedarf der referenzierten Datei statt des Links gezeigt
|-
|-
| | '''-s '''
| | '''-s '''
| | gibt nur die Summe für jedes Verzeichnis in der Kommandozeile
| --summarize
|
| | Summe für jedes Verzeichnis
|-
|-
| | '''-x '''
| -S || --separate-dirs
| | ignoriert Verzeichnisse, die in anderen Dateisystemen liegen
| || Bei Verzeichnissen die Größe von Unterverzeichnissen nicht mitzählen
|-
|-
| | '''-D '''
| -x || --one-file-system
| | folgt dem Verweis auf ein anderes Verzeichnis bei einem symbolischen Link, wenn dieser als Kommandozeilenargument übergeben wird. Andere symbolische Links werden nicht dereferenziert
| || Verzeichnisse in anderen Dateisystemen ignorieren
|-
|-
| | '''-L '''
|
|  | alle symbolischen Links werden dereferenziert, das heißt es wird der Platzbedarf des referenzierten Verzeichnisses anstelle des Linkfiles gezeigt
| --exclude=
|-
|MUSTER
| | '''-S '''
|Dateien ausschließen, die auf MUSTER passen
| | zeigt den Platzbedarf jedes Verzeichnisses einzeln, ohne die Unterverzeichnisse
|-
|-
|}
|}
Zeile 89: Zeile 80:
=== Umgebungsvariablen ===
=== Umgebungsvariablen ===
=== Exit-Status ===
=== Exit-Status ===
{| class="wikitable options col1center big"
{| class="table table-striped table-hover options col1center"
|-
|-
! Wert !! Beschreibung
! Wert !! Beschreibung
Zeile 95: Zeile 86:
| 0 || Erfolg
| 0 || Erfolg
|-
|-
| >0 || Fehler
| >0 || Fehler
|}
|}


== Anwendung ==
== Anwendung ==
<syntaxhighlight lang="bash" highlight="1" line copy>
; Dateigröße anzeigen
<syntaxhighlight lang="bash" highlight="1" copy>
du
</syntaxhighlight>
</syntaxhighlight>
<!-- output -->
<!-- output -->
<syntaxhighlight lang="bash" highlight="" line>
<syntaxhighlight lang="bash" highlight="" line>
3076  ./Briefe
3076  ./Bilder
3076  ./Musik
9232 
</syntaxhighlight>
</syntaxhighlight>


$ '''du'''
; Dateigröße menschenlesbar anzeigen
  3076    ./Briefe
<syntaxhighlight lang="bash" highlight="1" copy>
  3076    ./Bilder
du -h
  3076    ./Musik
</syntaxhighlight>
  9232   
<!-- output -->
<syntaxhighlight lang="bash" highlight="" line>
3,1M ./Briefe
3,1M ./Bilder
3,1M ./Musik
9,1M  
</syntaxhighlight>


$ '''du -h'''
; Dateien und Verzeichnisse anzeigen
  3,1M   ./Briefe
<syntaxhighlight lang="bash" highlight="1" copy>
  3,1M   ./Bilder
du -ah
  3,1M   ./Musik
</syntaxhighlight>
9,1M  
<!-- output -->
<syntaxhighlight lang="bash" highlight="" line>
1,0M  ./Briefe/brief3.doc
1,0M  ./Briefe/brief2.doc
1,0M ./Briefe/brief1.doc
3,1M ./Briefe
1,0M ./Bilder/photo1.png
1,0M  ./Bilder/photo2.png
1,0M  ./Bilder/photo3.png
3,1M ./Bilder
1,0M ./Musik/song1.mp3
1,0M  ./Musik/song2.mp3
1,0M  ./Musik/song3.mp3
3,1M ./Musik
9,1M
</syntaxhighlight>


$ '''du -ah'''
; Gesamtgröße anzeigen
1,0M    ./Briefe/brief3.doc
<syntaxhighlight lang="bash" highlight="1" copy>
1,0M    ./Briefe/brief2.doc
du -sh
1,0M    ./Briefe/brief1.doc
</syntaxhighlight>
3,1M    ./Briefe
<!-- output -->
1,0M    ./Bilder/photo1.png
<syntaxhighlight lang="bash" highlight="" line>
1,0M    ./Bilder/photo2.png
19M 
1,0M    ./Bilder/photo3.png
</syntaxhighlight>
3,1M    ./Bilder
1,0M    ./Musik/song1.mp3
1,0M    ./Musik/song2.mp3
1,0M    ./Musik/song3.mp3
3,1M    ./Musik
9,1M   


  $ '''du -sh'''
; Zeitstempel anzeigen
  19M   
<syntaxhighlight lang="bash" highlight="1" copy>
du -h --time
</syntaxhighlight>
<!-- output -->
<syntaxhighlight lang="bash" highlight="" line>
3,1M 2020-11-10 13:54    ./Briefe
3,1M  2020-11-10 13:53    ./Bilder
3,1M  2020-11-10 13:54    ./Musik
9,1M 2020-11-10 13:54   
</syntaxhighlight>


$ '''du -h --time'''
; Dateien ausschießen
3,1M    2020-11-10 13:54        ./Briefe
<syntaxhighlight lang="bash" highlight="1" copy>
  3,1M   2020-11-10 13:53        ./Bilder
du -ah --exclude="*.doc"</syntaxhighlight>
  3,1M   2020-11-10 13:54        ./Musik
<!-- output -->
9,1M   2020-11-10 13:54       
<syntaxhighlight lang="bash" highlight="" line>
4,0K  ./Briefe
1,0M  ./Bilder/photo1.png
1,0M  ./Bilder/photo2.png
1,0M ./Bilder/photo3.png
3,1M ./Bilder
1,0M  ./Musik/song1.mp3
1,0M  ./Musik/song2.mp3
1,0M ./Musik/song3.mp3
3,1M ./Musik
6,1M
</syntaxhighlight>


$ '''du -ah --exclude="*.doc"'''
; Versteckte Dateien
4,0K    ./Briefe
Fehler ignorieren
1,0M    ./Bilder/photo1.png
<syntaxhighlight lang="bash" highlight="1" copy>
1,0M    ./Bilder/photo2.png
du -shx /root/.[a-zA-z0-9]* 2> /dev/null | sort -h
1,0M    ./Bilder/photo3.png
</syntaxhighlight>
3,1M    ./Bilder
<!-- output -->
1,0M    ./Musik/song1.mp3
<syntaxhighlight lang="bash" highlight="" line>
1,0M    ./Musik/song2.mp3
</syntaxhighlight>
1,0M    ./Musik/song3.mp3
3,1M    ./Musik
6,1M   


# '''du -shx /root/.[a-zA-z0-9]* 2> /dev/null | sort -h'''
; Größe aller Dateien/Verzeichnisse im aktuellen Verzeichnis, sortiert nach Größe
<syntaxhighlight lang="bash" highlight="1" line copy>
du -sh * | sort -h
</syntaxhighlight>
<!-- output -->
<syntaxhighlight lang="bash" highlight="" line>
</syntaxhighlight>


du -sh * | sort -h: Zeigt die Größe aller Dateien/Ordner im aktuellen Verzeichnis, sortiert nach Größe
; Nur erste Ebene der Unterverzeichnisse
<syntaxhighlight lang="bash" highlight="1" line copy>
du -h --max-depth=1
</syntaxhighlight>
<!-- output -->
<syntaxhighlight lang="bash" highlight="" line>
</syntaxhighlight>


du -h --max-depth=1: Listet nur die erste Ebene der Unterverzeichnisse auf
; Sortierter Überblick der Systempartition
Fehler ignorieren
<syntaxhighlight lang="bash" highlight="1" copy>
du -shx /* 2>/dev/null | sort -h
</syntaxhighlight>
<!-- output -->
<syntaxhighlight lang="bash" highlight="" line>
0    /bin
0    /dev
0    /initrd.img
0    /initrd.img.old
0    /lib
0    /lib32
0    /lib64
0    /proc
0    /sbin
0    /sys
0    /vmlinuz
0    /vmlinuz.old
4,0K  /home
4,0K  /mnt
4,0K  /srv
8,0K  /snap
16K  /lost+found
16K  /media
1,5M  /tmp
3,0M  /run
27M  /etc
167M  /boot
631M  /root
1,7G  /opt
4,5G  /var
27G  /usr
</syntaxhighlight>


== Alternativen ==
== Alternativen ==
; Alternative zum du-Befehl ist ncdu (NCurses Disk Usage)
* Schnelle, interaktive und farbige Oberfläche
* Navigieren durch Verzeichnisse
* Sortieren nach Größe
* Löschen von Dateien per Tastendruck
; Alternativen
; Alternativen
{| class="wikitable sortable options gnu big"
{| class="table table-striped table-hover options gnu"
|-
! Programm !! Beschreibung
|-
| [[ncdu]] || Interaktive TUI (Terminal User Interface). Zeigt Verzeichnisgrößen, prozentuale Anteile und ermöglicht das Löschen mit der "d"-Taste
|-
|-
! Unix !! GNU !! Parameter !! Beschreibung
| duf || Ersatz für df und du, der Festplattennutzung, freie Speicherplätze und Einhängepunkte (Mounts) sehr übersichtlich und farbig darstellt
|-
|-
| || || ||
| gdu || schnelle, in Go geschriebene Alternative, die ncdu ähnelt, aber bei großen Verzeichnisstrukturen performanter ist
|-
|-
| udu || schnelle, neuere Alternative, die auf Geschwindigkeit ausgelegt ist
|}
|}
* ncdu: Interaktive TUI (Terminal User Interface). Zeigt Verzeichnisgrößen, prozentuale Anteile und ermöglicht das Löschen mit der "d"-Taste
* duf: Ersatz für df und du, der Festplattennutzung, freie Speicherplätze und Einhängepunkte (Mounts) sehr übersichtlich und farbig darstellt
* gdu: schnelle, in Go geschriebene Alternative, die ncdu ähnelt, aber bei großen Verzeichnisstrukturen performanter ist
* udu: schnelle, neuere Alternative, die auf Geschwindigkeit ausgelegt ist


<noinclude>
<noinclude>
Zeile 191: Zeile 259:


=== Dokumentation ===
=== Dokumentation ===
; Man-Page
# [https://manpages.debian.org/stable/manpages-de/du.1.de.html du (1)]
<!--
<!--
; Man-Page
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]
; Info-Pages
; Info-Pages
-->
-->

Aktuelle Version vom 1. August 2026, 11:11 Uhr

du - Belegten Speicherplatz anzeigen

Beschreibung

disk usage (du)

Zeigt belegten Speicherplatz für ein Verzeichnis und dessen Unterverzeichnisse

  • Ohne Angabe von Optionen erfolgt die Ausgabe für den aktuellen Ordner und in der Einheit Kilobyte
  • du (disk usage) zeigt die Verteilung des belegten Plattenplatzes auf die Verzeichnisse
  • du zeigt den belegten Plattenplatz für das Verzeichnis und für alle Unterverzeichnisse (in Kilobyte)
  • Wenn die Umgebungsvariable POSIXLY_CORRECT gesetzt ist, wird die Menge in 512 Byte Blöcken angegeben

Installation

du ist Teil der GNU Core Utilities

Aufruf

du [Option(en)] [Dateien]
du [-abcklsxDLS] [-all] [-total] [-count-links] [-summarize] [-bytes] [-kilobytes] [-one-file-system] [-separate-dirs] [-dereference] [-dereference-args] [''Verzeichnis'' ...]

Optionen

Unix GNU Parameter Beschreibung
-a --all Ausgabe erfolgt auch für Dateien
-b --bytes Ausgabe in Byte
-c --total Gesamtgröße der übergebenen Dateien
-d --max-depth= N Summe für ein Verzeichnis ausgeben (oder einer Datei, mit --all) nur, wenn es N oder weniger Ebenen unterhalb des Befehlszeilenarguments ist. --max-depth=0 ist dasselbe wie --summarize.
-D --dereference-args Löst nur symbolische Verknüpfungen auf, die auf der Befehlszeile angegeben wurden.
-h --human-readable Größe in menschenlesbaren Einheiten (K,M,G)
-k --block-size=1K Ausgabe in Kilobyte (auch wenn die Umgebungsvariable POSIXLY_CORRECT gesetzt ist)
-l --count-links Zählt Hardlinks mehrfach
-L --dereference Symbolischen Links dereferenzieren, es wird der Platzbedarf der referenzierten Datei statt des Links gezeigt
-s --summarize Summe für jedes Verzeichnis
-S --separate-dirs Bei Verzeichnissen die Größe von Unterverzeichnissen nicht mitzählen
-x --one-file-system Verzeichnisse in anderen Dateisystemen ignorieren
--exclude= MUSTER Dateien ausschließen, die auf MUSTER passen

Parameter

Umgebungsvariablen

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Anwendung

Dateigröße anzeigen
du
3076  ./Briefe
3076  ./Bilder
3076  ./Musik
9232
Dateigröße menschenlesbar anzeigen
du -h
3,1M  ./Briefe
3,1M  ./Bilder
3,1M  ./Musik
9,1M
Dateien und Verzeichnisse anzeigen
du -ah
1,0M  ./Briefe/brief3.doc
1,0M  ./Briefe/brief2.doc
1,0M  ./Briefe/brief1.doc
3,1M  ./Briefe
1,0M  ./Bilder/photo1.png
1,0M  ./Bilder/photo2.png
1,0M  ./Bilder/photo3.png
3,1M  ./Bilder
1,0M  ./Musik/song1.mp3
1,0M  ./Musik/song2.mp3
1,0M  ./Musik/song3.mp3
3,1M  ./Musik
9,1M
Gesamtgröße anzeigen
du -sh
19M
Zeitstempel anzeigen
du -h --time
3,1M  2020-11-10 13:54    ./Briefe
3,1M  2020-11-10 13:53    ./Bilder
3,1M  2020-11-10 13:54    ./Musik
9,1M  2020-11-10 13:54
Dateien ausschießen
du -ah --exclude="*.doc"
4,0K  ./Briefe
1,0M  ./Bilder/photo1.png
1,0M  ./Bilder/photo2.png
1,0M  ./Bilder/photo3.png
3,1M  ./Bilder
1,0M  ./Musik/song1.mp3
1,0M  ./Musik/song2.mp3
1,0M  ./Musik/song3.mp3
3,1M  ./Musik
6,1M
Versteckte Dateien

Fehler ignorieren

du -shx /root/.[a-zA-z0-9]* 2> /dev/null | sort -h
Größe aller Dateien/Verzeichnisse im aktuellen Verzeichnis, sortiert nach Größe
du -sh * | sort -h
Nur erste Ebene der Unterverzeichnisse
du -h --max-depth=1
Sortierter Überblick der Systempartition

Fehler ignorieren

du -shx /* 2>/dev/null | sort -h
0    /bin
0    /dev
0    /initrd.img
0    /initrd.img.old
0    /lib
0    /lib32
0    /lib64
0    /proc
0    /sbin
0    /sys
0    /vmlinuz
0    /vmlinuz.old
4,0K  /home
4,0K  /mnt
4,0K  /srv
8,0K  /snap
16K   /lost+found
16K   /media
1,5M  /tmp
3,0M  /run
27M   /etc
167M  /boot
631M  /root
1,7G  /opt
4,5G  /var
27G   /usr

Alternativen

Alternativen
Programm Beschreibung
ncdu Interaktive TUI (Terminal User Interface). Zeigt Verzeichnisgrößen, prozentuale Anteile und ermöglicht das Löschen mit der "d"-Taste
duf Ersatz für df und du, der Festplattennutzung, freie Speicherplätze und Einhängepunkte (Mounts) sehr übersichtlich und farbig darstellt
gdu schnelle, in Go geschriebene Alternative, die ncdu ähnelt, aber bei großen Verzeichnisstrukturen performanter ist
udu schnelle, neuere Alternative, die auf Geschwindigkeit ausgelegt ist


Anhang

Siehe auch



Dokumentation

Man-Page
  1. du (1)

Projekt