Eu simplesmente uso o comando diff
:
diff -rq --no-dereference /path/to/old/drive/ /path/to/new/drive/
Isto lê e compara todos os arquivos nas árvores de diretórios e relata quaisquer diferenças. O sinalizador -r
compara os diretórios recursivamente, enquanto o sinalizador -q
apenas imprime uma mensagem na tela quando os arquivos são diferentes - ao contrário de imprimir as diferenças reais (como acontece com arquivos de texto). O --no-dereference
flag pode ser útil se houver links simbólicos diferentes, por exemplo, em um diretório, um link simbólico e, em seu diretório correspondente, uma cópia do arquivo ao qual foi vinculado.
Se o comando diff
imprimir nenhuma saída , isso significa que as árvores de diretórios são de fato idênticas; você pode executar echo $?
para verificar se o status de saída é 0
, indicando que os dois conjuntos de arquivos são iguais.
Não acredito que os CRCs ou checksums de computação sejam particularmente benéficos nesse caso. Faria mais sentido se os dois conjuntos de arquivos estivessem em sistemas diferentes e cada sistema pudesse computar as somas de verificação para seus próprios conjuntos de arquivos, de modo que apenas as somas de verificação precisem ser enviadas pela rede. Outro motivo comum para calcular as somas de verificação é manter uma cópia das somas de verificação para uso futuro.