Isso porque du
e df
medem coisas diferentes.
man du
diz:
du - estimate file space usage (...) Summarize disk usage of each FILE, recursively for directories.
e man df
:
df - report file system disk space usage
Os sistemas de arquivos possuem tabelas de inodes, periódicos, etc., que não são resumidos por du
. Não é apenas específico do Linux, mas específico do UNIX (ou até mesmo específico do sistema de arquivos UNIX). Como os processos do UNIX usam arquivos para tudo (estou simplificando), ou seja, escrevendo para arquivos de log, também pode haver um problema do descritor de arquivo aberto , neste caso, causando diferentes saídas du
e df
.