df-Befehl: Festplattennutzung prüfen mit den Optionen -h, -T und -i
Der df-Befehl ist ein Linux-Befehl, der für jedes eingehängte Dateisystem Gesamtgröße, belegten Platz, freien Platz und Belegung in jeweils einer Zeile ausgibt. Nachdem df auf einem AlmaLinux-9-Server und einem Debian-12-Server nacheinander mit den Optionen -h, -T, -i, --output und -x ausgeführt und die Ausgaben verglichen wurden, wird der Speicherplatz in der Spalte Use% und das Limit für die Anzahl der Dateien in der Spalte IUse% von df -i geprüft.
In der Ausgabe des AlmaLinux-9.8-Servers wurden Gerätenamen, Festplattengrößen sowie Größe und Belegung von tmpfs, die von der Speichergröße abhängen, durch zueinander passende Beispielwerte ersetzt, und Mount-Zeilen, die es nur auf diesem Server gibt, wurden entfernt. Auch der Ordnerpfad in den Befehlen ist ein Beispielwert; die Ausgabe des Debian-12-Servers ist unverändert übernommen.
1️⃣ So verwendest du den Linux-Befehl df
Die Grundform ist [df Optionen Datei]. Ohne Datei gibt df alle eingehängten Dateisysteme aus, und ohne Optionen werden Größen als Anzahl von 1.024-Byte-Blöcken angegeben.
dfFilesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 1890316 0 1890316 0% /dev
tmpfs 1921072 0 1921072 0% /dev/shm
tmpfs 768432 17104 751328 3% /run
efivarfs 128 4 120 4% /sys/firmware/efi/efivars
/dev/sda4 52403180 10265000 42138180 20% /
/dev/sda3 983040 319488 663552 33% /boot
/dev/sda2 204580 7116 197464 4% /boot/efi
tmpfs 384212 4 384208 1% /run/user/0Die Ausgabe hat sechs Spalten; was jede Spalte enthält, zeigt die folgende Tabelle.
| Feld | Inhalt |
|---|---|
| Filesystem | Gerätename oder Dateisystemname (tmpfs usw.) |
| 1K-blocks | Gesamtgröße (Anzahl der 1.024-Byte-Blöcke) · mit -h Size |
| Used | Belegte Größe |
| Available | Freie Größe · mit -h Avail |
| Use% | Belegung · Used ÷ (Used + Available), aufgerundet |
| Mounted on | Einhängepunkt (der Ordner, mit dem das Dateisystem verbunden ist) |
Das Verbinden eines Geräts mit einem Ordner nennt man Festplatte einhängen; damit es bei jedem Start automatisch verbunden wird, trägt man es in /etc/fstab ein.
Beim Nachrechnen jeder Zeile der Ausgabe des AlmaLinux-9.8-Servers entsprach Use% dem aufgerundeten Wert von Used geteilt durch die Summe aus Used und Available. Für das Root-Verzeichnis (/) in der Ausgabe oben ergeben 10265000 geteilt durch 52403180 19,6 %, angezeigt als 20 %.
df gehört zum Paket coreutils. Die Version wurde in der ersten Zeile von [df --version] geprüft: coreutils 8.32 auf dem AlmaLinux-9.8-Server und 9.1 auf dem Debian-12-Server.
df --version | head -n 1df (GNU coreutils) 8.32df --version | head -n 1df (GNU coreutils) 9.12️⃣ Option df -h
-h fasst Größen in Einheiten von 1.024 zusammen und gibt sie mit K, M oder G aus.
df -hFilesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 751M 17M 734M 3% /run
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi
tmpfs 376M 4.0K 376M 1% /run/user/0Die 1K-Blöcke des Root-Verzeichnisses (/), 52403180, wurden zu 50G, die belegten 10265000 zu 9.8G. Die Zahlen sind aufgerundet; Werte unter 10 erschienen mit einer Nachkommastelle wie 9.8G, Werte ab 10 als ganze Zahl wie 50G.
-H fasst in Einheiten von 1.000 statt 1.024 zusammen.
df -HFilesystem Size Used Avail Use% Mounted on
devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 787M 18M 770M 3% /run
efivarfs 132k 3.9k 123k 4% /sys/firmware/efi/efivars
/dev/sda4 54G 11G 44G 20% /
/dev/sda3 1.1G 328M 680M 33% /boot
/dev/sda2 210M 7.3M 203M 4% /boot/efi
tmpfs 394M 4.1k 394M 1% /run/user/0Dasselbe Root-Verzeichnis erschien mit -H als 54G, also größer als mit -h, und die Kilo-Einheit wurde zum kleinen k, wie in 132k.
Gibt man eine Datei oder einen Ordner an, gibt df nur die Zeile des Dateisystems aus, das diesen Pfad enthält.
df -h /root/workFilesystem Size Used Avail Use% Mounted on
/dev/sda4 50G 9.8G 41G 20% //root/work ist ein Ordner im Root-Verzeichnis (/), daher erschien die Zeile von /dev/sda4. Den Platz, den jeder Ordner belegt, summiert der du-Befehl.
Auf dem Debian-12-Server ergab der Home-Ordner (~) unter einem normalen Konto eine einzige Zeile von /dev/vda2 mit einer Belegung von 52 %.
df -h ~Filesystem Size Used Avail Use% Mounted on
/dev/vda2 23G 12G 11G 52% /3️⃣ df -T: Dateisystemtyp
-T fügt nach Filesystem die Spalte Type hinzu und gibt den Dateisystemtyp aus.
df -hTFilesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 751M 17M 734M 3% /run
efivarfs efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 xfs 50G 9.8G 41G 20% /
/dev/sda3 xfs 960M 312M 648M 33% /boot
/dev/sda2 vfat 200M 7.0M 193M 4% /boot/efi
tmpfs tmpfs 376M 4.0K 376M 1% /run/user/0Die Festplattenpartitionen /dev/sda4 und /dev/sda3 waren xfs, /boot/efi war vfat. tmpfs und devtmpfs sind Dateisysteme, die Arbeitsspeicher statt Festplatte nutzen.
Das Root-Verzeichnis des Debian-12-Servers war ext4.
df -hT ~Filesystem Type Size Used Avail Use% Mounted on
/dev/vda2 ext4 23G 12G 11G 52% /-t behält nur den angegebenen Typ, -x gibt alles außer dem angegebenen Typ aus.
df -t xfs -hFilesystem Size Used Avail Use% Mounted on
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /bootMit -t xfs blieben nur die beiden xfs-Zeilen übrig.
df -x tmpfs -hFilesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi-x tmpfs entfernte die drei tmpfs-Zeilen, während devtmpfs mit seinem ähnlichen Namen erhalten blieb. Entfernt werden nur Zeilen, deren Typname genau übereinstimmt; um auch devtmpfs zu entfernen, schreibt man -x ein zweites Mal.
df -x tmpfs -x devtmpfs -hFilesystem Size Used Avail Use% Mounted on
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi4️⃣ df -i: Inode-Nutzung
inode ist eine Verwaltungsinformation, von der jede Datei und jeder Ordner je eine belegt. -i gibt statt der Größe die Anzahl der Inodes aus.
df -iFilesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 472579 377 472202 1% /dev
tmpfs 480268 2 480266 1% /dev/shm
tmpfs 819200 645 818555 1% /run
efivarfs 0 0 0 - /sys/firmware/efi/efivars
/dev/sda4 26201024 98214 26102810 1% /
/dev/sda3 524288 362 523926 1% /boot
/dev/sda2 0 0 0 - /boot/efi
tmpfs 96053 21 96032 1% /run/user/0Inodes ist die Gesamtzahl, die angelegt werden kann, IUsed die belegte Anzahl, IFree die verbleibende Anzahl und IUse% die Belegung. /boot/efi (vfat) und efivarfs haben 0 Inodes, daher erschien IUse% als -.
Jede neue Datei belegt einen Inode; erreicht IUse% 100 %, lassen sich keine neuen Dateien anlegen, auch wenn Use% niedrig ist. Auf einem Server, auf dem sich viele kleine Dateien ansammeln, prüft man [df -h] und [df -i] gemeinsam.
Mit zusätzlichem -h werden auch die Anzahlen in K- und M-Einheiten zusammengefasst, sodass die 26201024 des Root-Verzeichnisses als 25M erschienen.
df -ihFilesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 462K 377 462K 1% /dev
tmpfs 470K 2 470K 1% /dev/shm
tmpfs 800K 645 800K 1% /run
efivarfs 0 0 0 - /sys/firmware/efi/efivars
/dev/sda4 25M 96K 25M 1% /
/dev/sda3 512K 362 512K 1% /boot
/dev/sda2 0 0 0 - /boot/efi
tmpfs 94K 21 94K 1% /run/user/0Der Debian-12-Server nutzte 188009 von 6285088 Inodes, IUse% lag bei 3 %.
df -i ~Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/vda2 6285088 188009 6097079 3% /5️⃣ df --output: Ausgabespalten festlegen
--output legt die auszugebenden Spalten und ihre Reihenfolge direkt fest. Spaltennamen werden mit Kommas verbunden; verwendbar sind die zwölf Namen der folgenden Tabelle (laut --help).
| Spaltenname | Kopfzeile | Inhalt |
|---|---|---|
| source | Filesystem | Gerätename / Dateisystemname |
| fstype | Type | Dateisystemtyp |
| itotal | Inodes | Gesamtzahl der Inodes |
| iused | IUsed | Belegte Inodes |
| iavail | IFree | Freie Inodes |
| ipcent | IUse% | Inode-Belegung |
| size | Size | Gesamtgröße |
| used | Used | Belegte Größe |
| avail | Avail | Freie Größe |
| pcent | Use% | Belegung |
| file | File | Im Befehl angegebener Dateiname |
| target | Mounted on | Einhängepunkt |
df --output=source,fstype,size,used,avail,pcent,target -hFilesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 751M 17M 734M 3% /run
efivarfs efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 xfs 50G 9.8G 41G 20% /
/dev/sda3 xfs 960M 312M 648M 33% /boot
/dev/sda2 vfat 200M 7.0M 193M 4% /boot/efi
tmpfs tmpfs 376M 4.0K 376M 1% /run/user/0Sieben Spalten der Reihe nach angegeben ergaben dieselbe Ausgabe wie [df -hT].
df --output=target,pcent,avail -hMounted on Use% Avail
/dev 0% 1.9G
/dev/shm 0% 1.9G
/run 3% 734M
/sys/firmware/efi/efivars 4% 120K
/ 20% 41G
/boot 33% 648M
/boot/efi 4% 193M
/run/user/0 1% 376MMit den Spaltennamen in der Reihenfolge target, pcent, avail stand der Einhängepunkt vorn, gefolgt von Belegung und freier Größe in dieser Reihenfolge.
--total fügt unten eine Summenzeile hinzu.
df -h --totalFilesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 751M 17M 734M 3% /run
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi
tmpfs 376M 4.0K 376M 1% /run/user/0
total 56G 11G 46G 19% -Die Zeile total ist die Summe aller acht Zeilen darüber, daher wurden auch Dateisysteme im Arbeitsspeicher wie tmpfs mitgezählt.
🔲 Simulator für den df-Befehl
Im Simulator unten kannst du df mit -h, -H, -T, -i, -t, -x, --output und --total ausführen und sehen, wie sich die Ausgabespalten je Option ändern.
6️⃣ Fehler beim df-Befehl
Ein nicht vorhandener Pfad ergab [No such file or directory] und endete mit dem Exit-Code 1.
df -h /nonexistent-dirdf: /nonexistent-dir: No such file or directoryGibt man -t einen Typ, den es auf dem Server nicht gibt, bleibt keine Zeile zur Ausgabe übrig; es erschien [no file systems processed], und der Exit-Code war 1.
df -t nosuchfsdf: no file systems processedEin nicht vorhandener Spaltenname bei --output erschien in der Fehlermeldung.
df --output=bogusdf: option --output: field 'bogus' unknown
Try 'df --help' for more information.-i oder -T zusammen mit --output ergab [mutually exclusive] und endete mit demselben Exit-Code 1. Um Inodes oder Typen mit --output zu sehen, gibt man Spaltennamen wie itotal und fstype an.
df -i --outputdf: options -i and --output are mutually exclusive
Try 'df --help' for more information.🔢 FAQ & empfohlene Inhalte
UUID
Linux-Befehl blkid | Unterschied zwischen UUID und GUID
Ein Artikel darüber, wie man mit dem Befehl blkid Dateisystemtyp und UUID von Blockgeräten prüft.
Partition
gdisk: Partitionen unter Linux einrichten
Ein Artikel über die Schritte zum Anlegen und Löschen von Partitionen auf einer Festplatte mit dem Befehl gdisk.
ℹ️ Affiliate-Hinweis
Die Inhalte dieser Website enthalten Affiliate-Links. Kauft ein Besucher über einen dieser Links ein Produkt oder eine Dienstleistung, erhält die Website vom Verkäufer eine Provision. Der Betrag, den der Käufer zahlt(bei Aktionsrabatten sinkt er ↓), steigt dadurch nicht. Angegebene Preise, Rabatte und Lagerbestände entsprechen dem Stand bei Erstellung und können abweichen; prüfe sie daher vor dem Kauf beim Verkäufer. Produkte werden nach eigenen Kriterien ausgewählt und bewertet, und Provisionen beeinflussen weder die Reihenfolge noch den Inhalt der Bewertungen.