(2 risposte)
Chiuso 7 anni fa.
Ho usato du per elencare tutte le cartelle e ordinare per dimensione, i risultati semplicemente non sommano la quantità di spazio su disco utilizzata (usando df). C'è circa 20G di discrepanza, perché?
[[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
Risposta accettata:
Questo perché du
e df
misurare cose diverse.
man du
dice:
du – stima utilizzo dello spazio file (...) Riassumi l'utilizzo del disco di ogni FILE , ricorsivamente per le directory.
e man df
:
df – segnala utilizzo dello spazio su disco del file system
I file system hanno tabelle di inode, journal ecc. che non sono riepilogati da du
. Non è solo specifico per Linux, ma piuttosto specifico per UNIX (o anche specifico per il filesystem UNIX). Poiché i processi UNIX utilizzano i file per tutto (sto semplificando), ad esempio per scrivere nei file di registro, in questo caso potrebbe esserci anche un problema con il descrittore di file aperto che causa diversi du
e df
uscite.