(2 jawaban)
Tutup 7 tahun yang lalu.
Saya menggunakan du untuk membuat daftar semua folder dan mengurutkan berdasarkan ukuran, hasilnya tidak menambahkan berapa banyak ruang disk yang digunakan (menggunakan df). Ada perbedaan sekitar 20G, mengapa?
[[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
Jawaban yang Diterima:
Itu karena du dan df mengukur hal-hal yang berbeda.
man du mengatakan:
du – memperkirakan penggunaan ruang file (…) Ringkas penggunaan disk dari setiap FILE , secara rekursif untuk direktori.
dan man df :
df – laporkan penggunaan ruang disk sistem file
Sistem file memiliki tabel inode, jurnal, dll. yang tidak diringkas oleh du . Ini bukan hanya khusus Linux, tetapi juga khusus UNIX (atau bahkan khusus sistem file UNIX). Karena proses UNIX menggunakan file untuk semuanya (saya sederhanakan) yaitu menulis ke file log, mungkin ada juga masalah deskriptor file terbuka dalam hal ini yang menyebabkan perbedaan du dan df keluaran.