Ответы:
ssh user@remote_host "cat remote_file.txt" | diff - local_file.txt
cat, которые на самом деле являются просто оригинальным файлом?
sshкоманды в команду, diffкоторая ожидает сравнения stdinс локальным файлом.
Пытаться:
diff local_file <(ssh user@server 'cat remote_file')
или используя vimdiff:
vimdiff local_file scp://server//path/to/remote_file
diff local_file <(ssh user@server 'cat remote_file')только для SSH без пароля? Похоже, я не могу получить запрос пароля с ним ...
cat <(ssh user@server 'cat remote_file')и cat < <(ssh user@server 'cat remote_file')увидишь различия.
Может быть, это не полезно в вашем конкретном случае, но я часто просто использую
sum -r
на каждой машине и вручную сравнивайте контрольные суммы. Это позволяет сравнивать файлы, даже если они недоступны через ssh-соединение. Конечно, все, что он отвечает, это «они идентичны», но часто этого достаточно для моих нужд. Это также позволяет легко проверить, что один и тот же файл одинаков на 3 или 4 или более компьютерах.
catчтобы фактически запустить catкоманду только тогда, когда будет определено, что файлы различаются.
info coreutils 'sum invocation'говорит, в частности: «Для совместимости предоставляется« сумма »; программа« cksum »(см. Следующий раздел) предпочтительнее в новых приложениях».
Если вы предпочитаете более визуальный подход в терминальной сессии. У полночного командира есть опция удаленной файловой системы (опция SFTP-ссылка ... в меню) и опция визуального сравнения файлов. Он не устанавливается по умолчанию в большинстве систем Linux, но доступен в большинстве базовых репозиториев. шаги:
mcв папке, содержащей файл для сравненияsftp://<user>@<servername>/<path>).insклавиши выберите / выделите файлы для сравнения. ( tabизменения между левой и правой панелью).Примечание. Доступ к меню полуночного командира обычно можно получить с помощью мыши во время сеанса терминала. Если это не работает, F9вы попадаете в меню.
SSHFS, а затем получить к нему доступ, как если бы он был локальным.