网站搜索

如何在 Linux 中比较本地和远程文件


在本文中,我们将展示如何在 Linux 中比较或查找本地文件和远程文件之间的差异。在最近的一篇文章中,我们回顾了 9 个适用于 Linux 的最佳文件比较和差异 (Diff) 工具。我们介绍的工具之一是diff

diff(difference的缩写)是一个简单易用的工具,它可以分析两个文件并通过逐行比较文件来显示文件中的差异。它打印不同的行。重要的是,如果您希望两个文件彼此相同,diff 还会输出一组有用的说明,说明如何更改一个文件以使其与第二个文件相同。

要比较或查找不同服务器上两个文件之间的差异,请运行以下命令。请记住将用户和远程主机替换为您的实际参数。

ssh user@remote-host "cat /home/root/file_remote" | diff  - file_local 

请注意,您还可以使用输出重定向功能将两个文件之间的差异保存到一个文件中。例如:

ssh user@remote-host "cat /home/root/file_remote" | diff  -  file_local > diff_output.txt

然后使用 cat 命令查看 diff_output.txt 文件的内容。

cat diff_output.txt
OR
bcat diff_output.txt

此外,您还可以比较或查找两个远程服务器上的两个文件之间的差异,如图:

diff <(ssh user@remote-host1 'cat /path/to/file1') <(ssh user@remote-host2 'cat /path/to/file2')

有关更多信息,请参阅 diff 手册页,如图所示。

man diff

另外,请查看:

  1. 如何使用 Diff 和 Meld 工具查找两个目录之间的差异
  2. 面向 Linux 新手的 Linux sdiff 命令示例
  3. A – Z Linux 命令 – 概述与示例

现在就是这样!在本文中,我们展示了如何比较或查找不同服务器上的两个文件之间的差异。与我们分享您的想法或通过下面的反馈表提出问题。