# Du et df donnent un résultat différent : pourquoi ?

Il arrive que les commandes `du` et `df` donnent un résultat différent, parfois de plusieurs centaines de Gio. Mais pourquoi ?

## Avant-propos

La commande `du` regarde la taille du dossier / fichier passé en paramètre alors que `df` va regarder les métadonnées d’une partition pour en afficher l’occupation.

Donc la question du résultat différent ne vaut que si on compare la sortie de `du` sur un dossier qui est un point de montage et qui ne contient pas d’autres points de montage (ou si on utilise `du -x`, qui fait que `du` n’analyse pas les autres points de montage).

## Plusieurs réponses possibles

Sur [ce commentaire sur StackOverflow](https://stackoverflow.com/questions/30772180/df-and-du-giving-different-results/73373010#73373010) ([lien archive.org](https://web.archive.org/web/20250612063212/https://stackoverflow.com/questions/30772180/df-and-du-giving-different-results/73373010#73373010)), on apprend que plusieurs raisons peuvent expliquer des résultats différents.

Ce commentaire nous donne 3 exemples :
- des applications qui utilisent encore des fichiers supprimés. On peut vérifier ça avec la commande `lsof +aL1`
- des fichiers plus grands que leur vraie taille, ce qui va tromper `du` mais pas `df`
- si des fichiers étaient présents dans un dossier avant qu’un système de fichier soit monté sur ce dossier, `du` ne les verra pas et ne les comptabilisera pas, contrairement à `df`