我可以使用diff命令比较两个不同服务器上的文件吗? 如果没有,还有其他选择吗?
答案 0 :(得分:21)
您可以使用scp
从其他服务器复制文件,然后使用diff
。
或ssh
到远程主机和diff
使用如下命令:
ssh user@remote "cat /path/to/remote/file" | diff - /path/to/local/file
答案 1 :(得分:9)
答案 2 :(得分:4)
“ - ”与STDIN区别开来。你可以这样做:
ssh server 'cat file_to_diff' | diff -u localfile -
答案 3 :(得分:2)
我知道这是一个迟到的答案,但我从字面上看问题,没有本地文件和两个远程文件。
在bash
(而且不仅仅是),可以使用流程替换 [1,2] <(...)
:
diff <(ssh Server1 'cat /path/to/file1') <(ssh Server2 'cat /path/to/file2')
进程
<(list)
以异步方式运行,其输入或输出显示为文件名。
注意
<(...)
之一。如果两个文件都在同一台服务器上,您可以使用更简单的
ssh Server1 'diff /path/to/file1 /path/to/file2'
答案 4 :(得分:0)
如果您正在对AWS实例进行故障排除,那么停止inatanceA然后将其驱动器附加到您想要与之比较的实例B可能是有意义的。