df - Disk Free
df (disk free) zeigt den verfügbaren und belegten Speicherplatz aller eingehängten Dateisysteme an. Es ist ein unverzichtbares Werkzeug zur Überwachung der Festplattenauslastung und hilft dabei, Speicherprobleme frühzeitig zu erkennen.
Voraussetzungen
Grundlegende Syntax
df [OPTIONEN] [DATEISYSTEM...]
Häufige Anwendungsfälle
Standard-Ausgabe
# Übersicht aller Dateisysteme
df
# Lesbare Ausgabe (human-readable)
df -h
# Nur lokale Dateisysteme anzeigen
df -h -l
Ausgabe verstehen
$ df -h
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
/dev/sda1 50G 35G 13G 73% /
/dev/sdb1 100G 20G 76G 21% /data
tmpfs 7.8G 1.2M 7.8G 1% /run
| Spalte | Bedeutung |
| Dateisystem | Gerätename oder Netzwerk-Ressource |
| Größe | Gesamtgröße des Dateisystems |
| Benutzt | Belegter Speicherplatz |
| Verf. | Verfügbarer Speicherplatz |
| Verw% | Prozentuale Auslastung |
| Eingehängt auf | Mount-Point im Verzeichnisbaum |
Spezifische Dateisysteme
# Dateisystem einer bestimmten Datei/Verzeichnis
df -h /home
# Nur bestimmte Typen anzeigen
df -h -t ext4
# Dateisystemtyp mit anzeigen
df -hT
Inodes anzeigen
# Inode-Nutzung anzeigen (Anzahl der Dateien)
df -i
# Inode-Nutzung lesbar
df -ih
Nützliche Optionen
| Option | Bedeutung |
| -h | Human-readable Format (KB, MB, GB) |
| -H | Human-readable mit 1000er-Basis statt 1024 |
| -T | Dateisystemtyp anzeigen |
| -i | Inode-Information statt Blöcke |
| -l | Nur lokale Dateisysteme |
| -t TYPE | Nur bestimmten Typ anzeigen |
| -x TYPE | Bestimmten Typ ausschließen |
| –total | Gesamtsumme am Ende |
| -a | Alle Dateisysteme inkl. Pseudo-Dateisysteme |
Praktische Beispiele
Filtern und Sortieren
# Nur physische Festplatten (ohne tmpfs, devtmpfs)
df -h -x tmpfs -x devtmpfs
# Warnung bei über 80% Auslastung
df -h | awk 'NR>1 && $5+0 > 80 {print $0}'
# Sortiert nach Auslastung
df -h | tail -n +2 | sort -k5 -rn
# Gesamtübersicht mit Summe
df -h --total
Überwachung und Monitoring
# Alle 5 Sekunden aktualisieren
watch -n 5 df -h
# Kritische Partitionen überwachen
df -h | grep -E "8[0-9]%|9[0-9]%|100%"
# Ausgabe als CSV
df -h | tr -s ' ' ',' > disk_usage.csv
# Nur Root-Partition
df -h /
Netzwerk-Dateisysteme
# Nur NFS-Mounts anzeigen
df -h -t nfs -t nfs4
# Netzwerk-Dateisysteme ausschließen
df -h -l
# CIFS/SMB-Shares anzeigen
df -h -t cifs
Kombination mit anderen Befehlen
# Mit grep Partitionen filtern
df -h | grep /dev/sd
# Vollste Partition finden
df -h | tail -n +2 | sort -k5 -rn | head -1
# Alarm bei kritischer Auslastung (Skript)
df -h | awk '$5+0 > 90 {print "WARNUNG:", $0}'
# JSON-Format für Monitoring
df -h --output=source,size,used,avail,pcent,target | tail -n +2
Wichtige Hinweise
df zeigt den Speicher aus Sicht des Dateisystems, nicht der physischen Platte
Reservierter Speicher (meist 5% für root) wird bei ext-Dateisystemen nicht in „Verf.“ mitgezählt
Bei 100% Auslastung können root-Benutzer oft noch schreiben (reservierter Platz)
tmpfs und andere Pseudo-Dateisysteme nutzen RAM, nicht Festplatte
Nutze
du um herauszufinden, welche Verzeichnisse viel Platz belegen
Fehlerbehebung
„Dateisystem nicht gefunden“: Prüfe ob Partition eingehängt ist mit mount
Negative freie Werte: Kann bei NFS-Shares oder vollen Platten auftreten
Unterschied zu du: df zeigt Dateisystem-Ebene, du zeigt tatsächliche Dateigrößen
Hohe Auslastung ohne große Dateien: Prüfe gelöschte aber noch offene Dateien mit lsof | grep deleted
Siehe auch