(2 réponses)
Fermé il y a 7 ans.
J'ai utilisé du pour lister tous les dossiers et trier par taille, les résultats ne correspondent tout simplement pas à la quantité d'espace disque utilisée (en utilisant df). Il y a environ 20 G d'écart, pourquoi ?
[[email protected] lib]# du --max-depth=1 -h /| sort -n -r 310M /lib 123M /root 96K /dev 88M /etc 75G / 73G /var 30M /sbin 20M /boot 20K /tmp 18M /lib64 16K /mnt 16K /lost+found 12K /home 8.0K /srv 8.0K /selinux 8.0K /opt 8.0K /misc 8.0K /media 7.0M /bin 1.2G /usr 0 /sys 0 /proc [[email protected] lib]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 298G 94G 189G 34% / /dev/sda1 99M 26M 69M 28% /boot tmpfs 2.0G 0 2.0G 0% /dev/shm
Réponse acceptée :
C'est parce que du
et df
mesurer différentes choses.
man du
dit :
du - estimer l'utilisation de l'espace fichier (…) Résumez l'utilisation du disque de chaque FICHIER , récursivement pour les répertoires.
et man df
:
df - signale l'utilisation de l'espace disque du système de fichiers
Les systèmes de fichiers ont des tables d'inodes, des journaux, etc. qui ne sont pas résumés par du
. Ce n'est pas seulement spécifique à Linux, mais plutôt à UNIX (ou même à un système de fichiers UNIX). Étant donné que les processus UNIX utilisent des fichiers pour tout (je simplifie), c'est-à-dire écrire dans des fichiers journaux, il pourrait également y avoir un problème de descripteur de fichier ouvert dans ce cas, provoquant différents du
et df
sorties.