Commande df : vérifier l'utilisation du disque avec les options -h, -T et -i
La commande df est une commande Linux qui affiche, sur une ligne par système de fichiers monté, la taille totale, l'espace utilisé, l'espace libre et le taux d'utilisation. Après avoir lancé df avec les options -h, -T, -i, --output et -x, une par une, sur un serveur AlmaLinux 9 et un serveur Debian 12 et comparé les sorties, l'espace disque se vérifie dans la colonne Use% et la limite du nombre de fichiers dans la colonne IUse% de df -i.
Dans la sortie du serveur AlmaLinux 9.8, les noms de périphérique, les tailles de disque ainsi que la taille et l'utilisation de tmpfs, qui dépendent de la mémoire, ont été remplacés par des valeurs d'exemple cohérentes entre elles, et les lignes de montage propres à ce serveur ont été retirées. Le chemin de dossier écrit dans les commandes est aussi une valeur d'exemple, et la sortie du serveur Debian 12 est reprise telle quelle.
1️⃣ Utiliser la commande df sous Linux
La forme de base est [df options fichier]. Sans fichier, df affiche tous les systèmes de fichiers montés, et sans option il exprime les tailles en nombre de blocs de 1 024 octets.
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/0La sortie compte six colonnes, dont le contenu figure dans le tableau ci-dessous.
| Champ | Contenu |
|---|---|
| Filesystem | Nom du périphérique ou du système de fichiers (tmpfs, etc.) |
| 1K-blocks | Taille totale (nombre de blocs de 1 024 octets) · Size avec -h |
| Used | Taille utilisée |
| Available | Taille libre · Avail avec -h |
| Use% | Taux d'utilisation · Used ÷ (Used + Available), arrondi au supérieur |
| Mounted on | Point de montage (le dossier auquel le système de fichiers est rattaché) |
Rattacher un périphérique à un dossier s'appelle monter un disque ; pour le rattacher automatiquement à chaque démarrage, on l'inscrit dans /etc/fstab.
En recalculant chaque ligne de la sortie du serveur AlmaLinux 9.8, Use% correspondait à Used divisé par la somme de Used et Available, arrondi au supérieur. Pour la racine (/) de la sortie ci-dessus, 10265000 divisé par 52403180 donne 19,6 %, affiché comme 20 %.
df fait partie du paquet coreutils. La version a été vérifiée sur la première ligne de [df --version] : coreutils 8.32 sur le serveur AlmaLinux 9.8 et 9.1 sur le serveur Debian 12.
df --version | head -n 1df (GNU coreutils) 8.32df --version | head -n 1df (GNU coreutils) 9.12️⃣ Option df -h
-h regroupe les tailles par unités de 1 024 et les affiche avec K, M ou G.
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/0Les blocs de 1K de la racine (/), 52403180, sont devenus 50G, et les 10265000 utilisés 9.8G. Les nombres sont arrondis au supérieur ; sous 10, ils s'affichaient avec une décimale comme 9.8G, et à partir de 10 en entiers comme 50G.
-H regroupe par unités de 1 000 au lieu de 1 024.
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/0La même racine apparaissait comme 54G avec -H, un nombre plus grand qu'avec -h, et l'unité kilo passait à un k minuscule, comme dans 132k.
Si l'on indique un fichier ou un dossier, df n'affiche que la ligne du système de fichiers qui contient ce chemin.
df -h /root/workFilesystem Size Used Avail Use% Mounted on
/dev/sda4 50G 9.8G 41G 20% //root/work est un dossier situé dans la racine (/), c'est donc la ligne de /dev/sda4 qui est apparue. L'espace occupé par chaque dossier se totalise avec la Commande du.
Sur le serveur Debian 12, indiquer le dossier personnel (~) depuis un compte ordinaire a affiché une seule ligne de /dev/vda2, avec un taux d'utilisation de 52 %.
df -h ~Filesystem Size Used Avail Use% Mounted on
/dev/vda2 23G 12G 11G 52% /3️⃣ df -T : type de système de fichiers
-T ajoute la colonne Type après Filesystem et affiche le type de système de fichiers.
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/0Les partitions de disque /dev/sda4 et /dev/sda3 étaient en xfs, et /boot/efi en vfat. tmpfs et devtmpfs sont des systèmes de fichiers qui utilisent la mémoire au lieu du disque.
La racine du serveur Debian 12 était en ext4.
df -hT ~Filesystem Type Size Used Avail Use% Mounted on
/dev/vda2 ext4 23G 12G 11G 52% /-t ne garde que le type indiqué, et -x affiche tout sauf le type indiqué.
df -t xfs -hFilesystem Size Used Avail Use% Mounted on
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /bootAvec -t xfs, seules les deux lignes xfs sont restées.
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 a retiré les trois lignes tmpfs, tandis que devtmpfs, au nom proche, est resté. Seules les lignes dont le nom de type correspond exactement sont retirées ; pour retirer aussi devtmpfs, on écrit -x une fois de plus.
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 : utilisation des inodes
inode est une information de gestion, une par fichier et par dossier. -i affiche le nombre d'inodes au lieu de la taille.
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 est le nombre total pouvant être créé, IUsed le nombre utilisé, IFree le nombre restant et IUse% le taux d'utilisation. /boot/efi, en vfat, et efivarfs ont 0 inode, d'où IUse% affiché comme -.
Chaque nouveau fichier utilise un inode ; dès que IUse% atteint 100 %, aucun nouveau fichier ne peut être créé, même si Use% est bas. Sur un serveur qui accumule beaucoup de petits fichiers, on vérifie [df -h] et [df -i] ensemble.
En ajoutant aussi -h, les nombres sont regroupés en unités K et M, et les 26201024 de la racine apparaissaient comme 25M.
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/0Le serveur Debian 12 utilisait 188009 inodes sur 6285088, soit un IUse% de 3 %.
df -i ~Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/vda2 6285088 188009 6097079 3% /5️⃣ df --output : choisir les colonnes de sortie
--output fixe directement les colonnes affichées et leur ordre. Les noms de colonne s'écrivent séparés par des virgules, et les douze noms du tableau ci-dessous sont utilisables (selon --help).
| Nom de colonne | En-tête | Contenu |
|---|---|---|
| source | Filesystem | Nom du périphérique / du système de fichiers |
| fstype | Type | Type de système de fichiers |
| itotal | Inodes | Nombre total d'inodes |
| iused | IUsed | Inodes utilisés |
| iavail | IFree | Inodes libres |
| ipcent | IUse% | Taux d'utilisation des inodes |
| size | Size | Taille totale |
| used | Used | Taille utilisée |
| avail | Avail | Taille libre |
| pcent | Use% | Taux d'utilisation |
| file | File | Nom de fichier indiqué dans la commande |
| target | Mounted on | Point de montage |
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/0Écrire sept colonnes dans l'ordre a donné la même sortie que [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% 376MEn écrivant les noms de colonne dans l'ordre target, pcent, avail, le point de montage est passé en tête, suivi du taux d'utilisation puis de la taille libre.
--total ajoute une ligne de total en bas.
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% -La ligne total est la somme des huit lignes au-dessus, si bien que les systèmes de fichiers en mémoire comme tmpfs ont aussi été additionnés.
🔲 Simulateur de la commande df
Dans le simulateur ci-dessous, vous pouvez lancer df avec -h, -H, -T, -i, -t, -x, --output et --total et voir comment les colonnes de sortie changent selon l'option.
6️⃣ Erreurs de la commande df
Un chemin inexistant a affiché [No such file or directory] et s'est terminé avec le code de sortie 1.
df -h /nonexistent-dirdf: /nonexistent-dir: No such file or directorySi l'on donne à -t un type absent du serveur, il ne reste aucune ligne à afficher : [no file systems processed] est apparu, et le code de sortie était 1.
df -t nosuchfsdf: no file systems processedUn nom de colonne inexistant donné à --output est apparu dans le message d'erreur.
df --output=bogusdf: option --output: field 'bogus' unknown
Try 'df --help' for more information.-i ou -T utilisé avec --output a affiché [mutually exclusive] et s'est terminé avec le même code de sortie 1. Pour voir les inodes ou les types avec --output, on écrit des noms de colonne comme itotal et fstype.
df -i --outputdf: options -i and --output are mutually exclusive
Try 'df --help' for more information.🔢 FAQ & contenus recommandés
UUID
Commande blkid sous Linux | Différence entre UUID et GUID
Un article sur la vérification du type de système de fichiers et de l'UUID des périphériques en mode bloc avec la commande blkid.
Partition
Partitionner un disque sous Linux : la commande gdisk
Un article sur les étapes pour créer et supprimer des partitions sur un disque avec la commande gdisk.
ℹ️ Mention d'affiliation
Le contenu de ce site contient des liens d'affiliation. Lorsqu'un visiteur achète un produit ou un service via l'un de ces liens, le site perçoit une commission du vendeur. Le montant payé par l'acheteur(il baisse lors des promotions ↓), lui, n'augmente pas. Les prix, remises et stocks indiqués correspondent à la date de rédaction et peuvent différer ; vérifiez-les donc auprès du vendeur avant d'acheter. Les produits sont choisis et évalués selon nos propres critères, et les commissions n'influencent ni l'ordre de présentation ni le contenu des évaluations.