我可以使用 diff 命令比较两个不同服务器上的文件吗?如果不能,还有其他选项吗?
你可以使用scp
从另一个服务器复制文件,然后使用diff
进行比较。
或者通过ssh
连接到远程主机并使用以下单个命令进行diff
比较:
ssh user@remote "cat /path/to/remote/file" | diff - /path/to/local/file
我知道这是一个晚回答,但我按照字面意思回答,没有本地文件,只有两个远程文件。
在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'
ssh server 'cat file_to_diff' | diff -u localfile -
如果您正在解决AWS实例问题,那么停止instanceA并将其驱动器附加到要与之比较的instanceB可能是有意义的。