Diese Seite gibt einen Einblick, warum sie unterschiedliche Werte haben, scheint jedoch darauf hinzudeuten, dass Ihr du
Größe sollte die kleinere der beiden sein.
df
verwendet insgesamt zugewiesene Blöcke, während du
betrachtet nur die Dateien selbst, ausgenommen Metadaten wie Inodes, die immer noch Blöcke auf der Festplatte benötigen. Wenn eine Datei gelöscht wird, während eine Anwendung sie geöffnet hat, du
wird es als freien Speicherplatz melden, aber df
nicht, bis die Anwendung beendet wird.
Wenn du
ist größer als df
, ist der übliche Grund „Sparse Blocks“:Wenn ein Programm nicht wirklich auf einen Festplattenblock schreibt, sondern stattdessen daran vorbei sucht, erhält es einen Nullzeiger in der Blockzuweisungskarte des Inodes und es wird kein tatsächlicher Speicherplatz dafür reserviert. Wenn Sie später darauf schreiben, wird ein tatsächlicher Festplattenblock zugewiesen und die Zuordnung wird so geändert, dass sie auf den neuen Block zeigt.