Respostas:
ssh user@remote_host "cat remote_file.txt" | diff - local_file.txt
cat
, que na verdade são apenas o arquivo original?
ssh
comando remoto para o diff
que está aguardando para comparar stdin
com o arquivo local.
Experimentar:
diff local_file <(ssh user@server 'cat remote_file')
ou usando vimdiff
:
vimdiff local_file scp://server//path/to/remote_file
diff local_file <(ssh user@server 'cat remote_file')
apenas para SSH sem senha? Parece que não consigo obter um prompt de senha com ele ...
cat <(ssh user@server 'cat remote_file')
e cat < <(ssh user@server 'cat remote_file')
veja as diferenças.
Talvez isso não seja útil no seu caso exato, mas geralmente uso
sum -r
em cada máquina e compare manualmente as somas de verificação. Isso permite comparações de arquivos, mesmo quando eles não são acessíveis através de uma conexão ssh. Obviamente, tudo o que ela responde é "eles são idênticos", mas geralmente isso é suficiente para minhas necessidades. Também facilita verificar se um único arquivo é igual em 3 ou 4 ou mais máquinas.
cat
para executar o cat
comando apenas quando for determinado que os arquivos diferem.
info coreutils 'sum invocation'
diz, inter alia: "'sum' é fornecido para compatibilidade; o programa 'cksum' (consulte a próxima seção) é preferível em novos aplicativos".
Se você preferir uma abordagem mais visual na sua sessão terminal. O comandante da meia-noite possui uma opção de sistema de arquivos remoto (opção SFTP link ... no menu) e uma opção de comparação visual de arquivos. Ele não é instalado por padrão na maioria dos sistemas Linux, mas está disponível na maioria dos repositórios base. Passos:
mc
:) na pasta que contém o arquivo a ser comparadosftp://<user>@<servername>/<path>
).ins
tecla, selecione / realce os arquivos a serem comparados. ( tab
muda entre os painéis esquerdo e direito).Nota: O menu do comandante da meia-noite geralmente pode ser acessado usando o mouse na sua sessão do terminal. Se não funcionar, F9
você também fica no menu.
SSHFS
e acessá-lo como se fosse local.