A simples execução do seguinte comando não funcionará necessariamente:
find . -type f | xargs sha512sum | sha512sum
O problema que você pode enfrentar é que a ordem dos arquivos relatados por find
é diferente de sistema a sistema ou até mesmo de cópia de diretório para cópia.
Em vez disso, tente executar o seguinte:
find . -type f | sort | xargs sha512sum | sha512sum
Sinta-se à vontade para trocar sha512sum
por outro, por exemplo: md5sum
/ sha1sum
/ sha256sum
dependendo de suas necessidades.
Observe que isso pode ficar lento para árvores de diretórios grandes. Nesse caso, você pode preferir um script mais complexo para percorrer a hierarquia.
Exemplo:
$ find . -type f | xargs sha512sum | sha512sum
097e56f6b751c1da15ce5b9dce853ffcc89e06e9cbe10a8dc0894dedb834d40dc4228c65e48bd53f136dd6a7700b0ab07e8e12e7100956db00b0d1b9ef0b9956 -
Isso inclui nomes de arquivos e conteúdo no hash final, mas não inclui metadados - horários de modificação, permissões, etc.
Observe que você pode usar esses utilitários no Windows usando o Windows Subsystem para Linux ". Acabei de instalá-lo, o que foi uma experiência indolor, e que também me fez perceber o problema com a ordem reportada de find
.
Tenha também em atenção o modo como os links simbólicos são tratados na sua árvore no Linux vs. Windows.