Linux / Commande df : espace disponible et inodes des systèmes de fichiers
df affiche la taille, l’espace utilisé et l’espace disponible des systèmes de fichiers montés. Donnez un chemin pour examiner le système de fichiers qui le contient, et non la taille de ce répertoire. Pour savoir quels fichiers occupent l’espace, complétez avec du et son calcul par fichiers et répertoires.
Choisir le système de fichiers à examiner
df -h
df -h /
df -h /var
Sans chemin, df consulte les systèmes de fichiers montés, avec certaines entrées dupliquées ou particulières masquées par défaut. / vise le système contenant la racine. /var vise celui contenant ce répertoire : s’il n’existe pas de montage distinct pour /var, les deux dernières commandes peuvent décrire le même espace.
Vous pouvez également donner un fichier existant pour identifier l’espace du système qui le contient. df ne parcourt pas et n’additionne pas tous les fichiers du répertoire demandé. Une erreur de chemin ou d’accès doit être examinée avant de conclure à un manque d’espace.
L’option GNU -h utilise des puissances de 1024, avec des suffixes abrégés tels que G ; -H utilise des puissances de 1000. Comparez des sorties avec les mêmes unités plutôt que de traiter la différence d’affichage comme une variation de capacité.
Lire Size, Used, Avail et le point de montage
Voici un exemple fictif, dont les nombres et le nom de périphérique ne décrivent pas votre machine :
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 40G 18G 20G 48% /
| Champ | Lecture |
|---|---|
| Filesystem | Source du montage, souvent un périphérique mais pas toujours. |
| Size | Taille rapportée du système de fichiers. |
| Used | Espace rapporté comme utilisé. |
| Avail | Espace disponible pour les utilisateurs non privilégiés. |
| Use% | Pourcentage d’utilisation calculé et arrondi par l’outil. |
| Mounted on | Point où le système de fichiers apparaît dans l’arborescence. |
Avail peut être différent de Size moins Used, notamment en présence de blocs réservés. Les unités lisibles introduisent aussi des arrondis : ne reconstituez pas une comptabilité exacte à partir des seules valeurs arrondies. La description des statistiques statvfs distingue les blocs libres et ceux disponibles aux utilisateurs non privilégiés.
Pour ajouter le type de système de fichiers :
df -hT /var
Le type aide à choisir les outils de diagnostic adaptés. df -t xfs, par exemple, limite la liste au type xfs ; une absence de résultat peut seulement indiquer qu’aucun système correspondant n’a été trouvé.
Vérifier aussi les inodes
df -i /var
Un inode, ou nœud d’index, porte les métadonnées d’un fichier, notamment son propriétaire, ses permissions et des informations de localisation. Sur un système où leur nombre est limité, l’épuisement des inodes peut empêcher de créer de nouveaux fichiers alors que des blocs de données restent libres. De très nombreux petits fichiers peuvent donc saturer un autre compteur que la capacité en octets.
L’affichage habituel contient Inodes, IUsed, IFree et IUse%. Comparez l’utilisation des inodes à celle des blocs pour le même chemin. Certains systèmes de fichiers ou environnements ne fournissent pas un compteur d’inodes interprétable comme un stock fixe ; une valeur absente ou particulière ne doit pas être assimilée automatiquement à un épuisement.
Si de l’espace et des inodes restent disponibles, d’autres causes comme un quota, les droits ou un montage en lecture seule peuvent encore empêcher une écriture. df est un point de départ, pas une validation de toutes les conditions de création d’un fichier.
Comparer avec du et préparer une sortie exploitable
df lit des statistiques globales du système de fichiers ; du parcourt les fichiers accessibles et estime leur occupation. Pour comparer, utilisez le même périmètre, les mêmes unités et un relevé aussi proche que possible dans le temps. Une activité d’écriture ou de suppression entre les deux mesures peut changer le résultat.
En cas d’écart, vérifiez les points suivants avant de supprimer des données :
- Un fichier supprimé mais encore ouvert peut continuer à occuper des blocs jusqu’à la fermeture de sa dernière référence ; un parcours ordinaire par nom ne le retrouve plus.
- Un parcours du limité par des permissions ou par des frontières de montage ne couvre pas forcément tout le système décrit par df.
- Les blocs réservés, métadonnées, instantanés et allocations partagées dépendent du système de fichiers et peuvent rendre une simple somme de tailles trompeuse.
- Des montages réseau, conteneurs ou couches overlay peuvent exposer plusieurs vues d’un même stockage ; additionner chaque ligne peut compter deux fois des ressources.
Pour un script GNU, choisissez explicitement les champs et une unité fixe. Cette consultation vise le système contenant le répertoire courant :
LC_ALL=C df -B1 --output=source,fstype,size,used,avail,pcent,target .
-B1 demande les tailles en octets. LC_ALL=C stabilise la langue de cette commande seulement ; la sortie reste un tableau avec en-tête, pas un format CSV. Les noms de sources ou de montages peuvent contenir des espaces : une découpe naïve à chaque espace n’est pas un parseur général fiable. Vérifiez aussi le statut de retour.
--output ne se combine pas avec -i, -P ou -T dans GNU df ; demandez plutôt les champs nécessaires, par exemple fstype pour le type. Les autres implémentations peuvent proposer d’autres options. Le manuel GNU df détaille les champs, les unités et les entrées masquées.




