如何比较两个不同的 unix 机器上的文件数据

如何比较两个不同的 unix 机器上的文件数据

我有一个文件存在于两台不同的 unix 机器中。我如何比较文件中的数据

答案1

您可以使用 ssh 远程比较文件:

$ ssh -p 2022 localhost "cat /remote_path" | diff - /local_path
$ ssh -p 2022 localhost "cat /etc/lsb-release" | diff - /etc/lsb-release
2,4c2,4
< DISTRIB_RELEASE=10.10
< DISTRIB_CODENAME=maverick
< DISTRIB_DESCRIPTION="Ubuntu 10.10"
---
> DISTRIB_RELEASE=10.04
> DISTRIB_CODENAME=lucid
> DISTRIB_DESCRIPTION="Ubuntu 10.04.2 LTS"

或者使用 sshfs/nfs。

答案2

判断它们是否“相同”的最短方法可能是

每个盒子上的 md5sum 文件,并比较 md5sums 是否匹配(或其他总和)

如果您想要比较它们的差异,请将一个文件复制到另一个框中,然后比较它们的差异。

答案3

远程?您是否正在运行 NFS?包含其中一台机器文件的目录是否安装在另一台机器上?您可以使用“ df ”检查这一点。

如果您没有 NFS 或目录未挂载,则必须复制文件。您可以使用“ scp ”来复制文件。

为了比较它们,请使用 diff,或者如果安装了 kdiff3 或 mgdiff 也很好。“diff -y”显示并排输出。

答案4

vimdiff file scp://login@server//pathto/file

双重 / after 服务器不是打字错误

相关内容