假设唯一可用的连接是 ssh,我如何在机器之间区分文件/文件夹?
答案1
你可以用 Bash 的流程替代:
diff foo <(ssh myServer 'cat foo')
或者同样
ssh myServer cat foo | diff foo -
或者,如果两者都在远程服务器上:
diff <(ssh myServer1 'cat foo') <(ssh myServer2 'cat foo')
答案2
最后我找到了很好的解决方案:vimdiff
vimdiff /path/to/file scp://remotehost//path/to/file
谢谢http://linux.spiney.org/remote_diff_with_vim_and_ssh 也可以看看http://www.vim.org/scripts/script.php?script_id=1075。
答案3
如果你只是想看看哪些文件不同,而不是实际文件的差异,那么你可以使用rsync --dry-run
答案4
使用 scp 将文件带到一台普通机器并在那里进行差异比较?
或者,如果你只是想知道文件是无论是否不同,在每台机器上使用 md5sum 对它们进行哈希处理。
您还可以研究类似SSH文件系统,但我不知道像 diff 这样的算法的表现如何。