(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.