(2 Antworten)
Vor 7 Jahren geschlossen.
Ich habe du verwendet, um alle Ordner aufzulisten und nach Größe zu sortieren, die Ergebnisse summieren sich einfach nicht dazu, wie viel Speicherplatz verwendet wird (mit df). Es gibt ungefähr 20 G Diskrepanz, warum?
[[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
Akzeptierte Antwort:
Denn du und df verschiedene Dinge messen.
man du sagt:
du – Schätzen Sie die Dateiplatznutzung (…) Fassen Sie die Festplattennutzung jeder DATEI zusammen , rekursiv für Verzeichnisse.
und man df :
df – meldet die Speicherplatznutzung des Dateisystems
Dateisysteme haben Inode-Tabellen, Journale etc. die nicht durch du zusammengefasst werden . Es ist nicht nur Linux-spezifisch, sondern UNIX-spezifisch (oder sogar UNIX-Dateisystem-spezifisch). Da UNIX-Prozesse Dateien für alles verwenden (ich vereinfache), d. h. zum Schreiben in Protokolldateien, könnte es in diesem Fall auch ein Problem mit offenen Dateideskriptoren geben, das zu unterschiedlichen du führt und df Ausgänge.