Zum Inhalt springen

du (Unix)

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 10. April 2021 um 11:34 Uhr durch imported>Y2kbug (POSIX/Unix/BSD-du versus GNU-du).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Datei:Du unix output.png
du in einem Terminal

Das Unix-Programm du (von {{Modul:Vorlage:lang}} Modul:Vorlage:lang:103: attempt to index field 'wikibase' (a nil value), deutsch etwa (Fest-)Plattennutzung oder -belegung) wird zur Anzeige der Dateigrößen aller Elemente im aktuellen Verzeichnis genutzt. Es ist Teil des POSIX-Standards für Unix- und Unix-artigen Systeme. Eine erweiterte Version findet sich in den GNU coreutils, wie sie z. B. unter Linux genutzt werden.

Geschichte

Die erste Version von du erschien in Version 1 von AT&T-UNIX.

Wichtige Argumente

Das Argument kann eine Pfadangabe sein, ansonsten wird das aktuelle Verzeichnis als Ausgangspunkt verwendet. Die POSIX-konformen Kommandozeilenparameter orientierten sich ursprünglich an UNIX System V und wurden im POSIX-Standard IEEE 1003.1 mit BSD-Entwicklungen erweitert; gem. POSIX-Standard von 2003 werden folgende Parameter unterstützt:

  • -a zeigt auch alle Dateien und nicht nur die Summe der Blöcke pro Verzeichnis.
  • -H zeigt, wenn als Argument eine symbolische Verknüpfung angegeben ist, die Größen des Verknüpfungsziels an, nicht die Größe der symbolischen Verknüpfung selbst.
  • -k erzwingt die Ausgabe von 1024-Byte-Blöcken, wie es bei BSD-Unix der Standard ist. Der POSIX-Standard sind Blöcke à 512 Bytes wie in System V.
  • -L zeigt bei symbolischen Verknüpfungen die Größen der Ziele an, nicht die der Verknüpfung selbst.
  • -s gibt nur die Summe aller Blöcke im angegebenen Pfad aus.
  • -x bewirkt, dass nur die Dateigrößen auf dem aktuellen Gerät im angegebenen Ausgangspfad berechnet werden ({{Modul:Vorlage:lang}} Modul:Vorlage:lang:103: attempt to index field 'wikibase' (a nil value)). Damit lässt sich verhindern, dass auch in Verzeichnisse eingehängte Dateisysteme verarbeitet werden.

Typische Parameter, die nur in der GNU-Version vorkommen und daher nicht POSIX-kompatibel sind:

  • --apparent-size zeigt sichtbare Größe an (sehr kleine Textdateien können auf dem Dateisystem wegen der minimalen Blockgröße größer als die tatsächliche Datenmenge sein, und z. B. auf komprimierten Dateisystemen kann die sichtbare Größe größer als die tatsächlich belegte Speichermenge sein)
  • -b zeigt die Dateigrößen statt in Kilobyte in Byte an. (GNU-spezifisch)
  • -c zeigt am Ende der Ausgabe die Gesamtgröße an.
  • -h zeigt die Größen „menschenlesbar“, also in Megabyte, Gigabyte... statt in manchmal sehr hohen Kilobyte-Zahlen an.
  • -s zeigt nur die Summe aller Dateigrößen an, nicht die einzelnen Elemente.
  • --si nutzt SI-Größen (Ein Kilobyte = 1000 Byte), also nicht KiB (= 1024 Byte), MiB...
  • --time zeigt die Zeit der letzten Änderung an.

Beispiele der GNU-Version

Zeige alle Dateien, auch in Unterverzeichnissen, in menschenlesbarer Größe an: <syntaxhighlight lang="bash"> $ du -ah 344K ./directory/Formatierungen.pdf 352K ./directory 1,1M ./Spickzettel.pdf 32K ./WeihnachtsWiki.png 8,0K ./Wikipediabausteine.txt 1,5M . </syntaxhighlight>

Zeige alle Dateien, auch in Unterverzeichnissen, in Kilobyte an sowie den Zeitpunkt der letzten Änderung: <syntaxhighlight lang="bash"> $ du -a --time 344 2009-11-09 21:47 ./directory/Formatierungen.pdf 352 2011-03-09 17:59 ./directory 1040 2009-10-10 11:25 ./Spickzettel.pdf 32 2009-12-24 18:56 ./WeihnachtsWiki.png 8 2009-11-03 18:34 ./Wikipediabausteine.txt 1440 2011-03-09 17:59 . </syntaxhighlight>

Zeige alle Dateien, auch in Unterverzeichnissen an, und zwar in SI-Einheiten (vergleiche erstes Beispiel) und in der sichtbaren Größe: <syntaxhighlight lang="bash"> $ du -ah --apparent-size --si 349k ./directory/Formatierungen.pdf 357k ./directory 1,1M ./Spickzettel.pdf 27k ./WeihnachtsWiki.png 772 ./Wikipediabausteine.txt 1,5M . </syntaxhighlight>

Siehe auch

Weblinks

<templatestyles src="Erweiterte Navigationsleiste/styles legacy.css" />Vorlage:Klappleiste/Anfang

Dateien

chgrp | chown | chmod | cp | dd | df | dir | dircolors | install | ln | ls | mkdir | mkfifo | mknod | mv | rm | rmdir | shred | sync | touch | vdir

Text

awk | cat | cksum | comm | csplit | cut | expand | fmt | fold | head | join | md5sum | nl | od | paste | ptx | pr | sha1sum | sed | sort | split | sum | tac | tail | tr | tsort | unexpand | uniq | wc

Shell

basename | chroot | date | dirname | du | echo | env | expr | factor | false | groups | hostid | id | link | logname | nice | nohup | pathchk | pinky | printenv | printf | pwd | readlink | seq | sleep | stat | stty | tee | test | true | tty | uname | unlink | users | who | whoami | yes

Vorlage:Klappleiste/Ende