Confirme se dois sistemas de arquivos são idênticos, ignorando arquivos especiais

1

/ media / A e / media / B devem ser idênticos, mas quero confirmar antes de excluir um.

Localizadores de arquivos duplicados não funcionam, porque eles encontrarão duas cópias do mesmo arquivo em B, por exemplo. Eu só quero confirmar que cada arquivo em um é idêntico ao outro.

diff -qr /media/A/ /media/B/ parece funcionar, mas a saída é cheia de lixo como

diff: /media/A//etc/alternatives/ControlPanel: No such file or directory

e

File /media/A//dev/tty8 is a character special file while file /media/B//dev/tty8 is a character special file

Eu posso suprimir o primeiro com 2> /dev/null , mas não sei sobre o último.

rsync -avn /media/A/ /media/B/ também produz um monte de confusão, como "pular arquivos não regulares".

Como posso comparar as duas árvores e apenas me certificar de que todos os arquivos reais existem em ambos e são idênticos?

    
por endolith 15.06.2011 / 16:41

3 respostas

2

Usar este comando a seguir deve verificar se eles são idênticos.

diff imageA imageB -r 2> /dev/null | grep -v "is a character special file" | grep -v "is a block special file" && echo "viola"
    
por 06.09.2012 / 17:22
0

Dê uma olhada no Guiffy. Não é gratuito, mas tem uma avaliação gratuita de 21 dias, o que não limita a funcionalidade:

Página inicial do Guiffy

Lista completa (massiva) de recursos

Ele alega fazer o seguinte, e parece estar muito próximo do que você está procurando, ou pode chegar perto o suficiente para que você possa levá-lo a partir daí:

  • A comparação de pastas funciona com nomes de arquivos / pastas Unicode
  • A comparação de pastas funciona com arquivos compactados (.zip, .tar, .jar e outros).
  • Salvar relatórios de comparação - a ferramenta de comparação de pastas do Guiffy gera relatórios como HTML
  • Inicia rapidamente uma comparação de arquivos a partir da comparação de pastas.
  • Visualização de comparação de pasta amigável com interface semelhante ao Explorer e subpastas expansíveis.
  • A interface de comparação de pastas inclui menus pop-up para operações de sincronização de arquivos.
  • Opção de comparação recursiva - a comparação de pastas pode comparar uma árvore de arquivos.

    
por 16.06.2011 / 01:09
0

Use o rsync no modo de gravação (com -v / --verbose e sem -n / --dry-run ) e execute-o algumas vezes até que a saída se estabilize. Execute-o como root para que a recriação de arquivos não regulares (implícita por -D e -a) funcione, o que deve eliminar a desordem.

    
por 16.06.2011 / 01:17