du
fornece o uso do disco, que não é o mesmo que a soma de todos os tamanhos de arquivo.
Por exemplo, um du -b file
dará uma saída diferente do que criar um diretório "dir", colocando o mesmo arquivo em "dir" e fazendo du -b dir
. No meu sistema, são 30 bytes extras para o "overhead" de um diretório. Dependendo do conteúdo do diretório, imagino que o tamanho do diretório mudaria (mas eu ficaria surpreso se fosse perfeitamente linear).
Além disso, o tamanho relativo da diferença indica que você pode ter perdido um diretório oculto com alguns arquivos ou ter perdido muitos arquivos ocultos (mesmo que você tenha usado o sinalizador -a) .
Além disso, pode haver links simbólicos que causam diferenças se uma ferramenta os segue enquanto a outra não.
Por último, com alguns sistemas de arquivos, se o conteúdo do arquivo for pequeno o suficiente, eles poderão ser incluídos no sistema de arquivos INode e em muitos sistemas de arquivos, um único bloco será reservado para conter o conteúdo do arquivo, mesmo se esse bloco for não totalmente usado. Essas variações adicionam ruído extra ao tentar comparar os dois.