Df (Unix)
# Df (Unix)

df (/usr/bin/df; Abkürzung für englisch disk free) ist ein Systemprogramm unter Unix- und unixähnlichen Betriebssystemen, mit dem der Speicherverbrauch von gemounteten Dateisystemen abgefragt werden kann. Es ist durch POSIX spezifiziert.
Die GNU-Implementierung von df, deren Verhalten allerdings vom POSIX-Standard erheblich abweicht, gehört zu den GNU Core Utilities.
df war bereits Bestandteil der ersten Ausgabe des Research Unix, gehört also zu der ältesten Generation von Unix-Systemwerkzeugen.

## Arbeitsweise

Als typisches Kommandozeilen-Utility gibt df seine Ausgabe auf stdout aus, Fehlermeldungen auf stderr. Als Argument kann ein Pfadname angegeben werden. Weist dieser allerdings nicht auf einen FIFO, eine einfache Datei, ein Directory oder auf ein Disk Device repräsentierendes Device File, so sind die Ergebnisse nicht festgelegt. Ansonsten werden die Informationen für jenes Dateisystem ausgegeben, das die angegebene Datei enthält. Falls kein Pfadname angegeben wird, so werden alle gemounteten Filesysteme gelistet.
Das Beispiel zeigt die Ausgabe eines AIX-Systems, das angegebene Device ist dort in der Grundeinstellung auf /home gemountet:
Die Ausgabe erfolgt per Default in für Unix-Dateisysteme typischen Blocks (Einheiten von 512 Bytes), dazu wird die Auslastung der Inodes angezeigt. Da jede Datei mindestens einen Inode braucht, kann ein Filesystem auch voll sein, wenn zwar noch freie Blöcke vorhanden, aber alle Inodes belegt sind, weshalb diese Information für den Administrator wesentlich ist. Über den Switch -k kann die Anzeige auch in Kilobytes (1024 Bytes) erfolgen.

## Hinweise zur Verwendung

POSIX-Switch Die genaue Ausgabe ist im POSIX-Standard nicht festgelegt und unterscheidet sich deshalb in verschiedenen Unix-Derivaten. Allerdings legt POSIX den Switch -P fest, der ein genau spezifiziertes Ausgabeformat bewirkt, auf welches portable Scripte, die auf vielen Unix-Plattformen laufen sollen, zurückgreifen können.
Sonderfall HP-Ux Die Ausgabe der HP-Ux-Implementation von df weicht erheblich von der anderer Systeme ab. Eine deutlich näher am Gewohnten liegende Ausgabe bietet der HP-Ux-Befehl bdf.