通过 ssh 使用“diff”命令

通过 ssh 使用“diff”命令

如果我的电脑上有一个包含多个文件的文件夹,而远程服务器上有同一个文件夹的副本,是否可以通过 ssh 运行“diff”以便查看我的副本与远程服务器上的副本之间的差异?理想情况下,我想查看文件夹的任一副本中是否有任何额外/更少的文件,然后检查各个文件本身是否有任何差异。

答案1

查看文件夹的任一副本中是否有任何额外/更少的文件

diff -y <(ssh user@remote_server 'ls -1aR /remote_folder/') <(ls -1aR /local_folder/)

答案2

diff仅适用于本地文件。您可以使用scprsync将文件复制到本地目录并将其与进行比较diff,或者您可以使用类似sshfs将远程目录挂载到本地目录并将其与第二个目录进行比较。

对于单个文件,您可以使用sshdiff

ssh user@machine cat remote-file | diff - local.file

答案3

查找哪些文件有所不同的另一种方法是使用 rsync,如中所述https://serverfault.com/a/16665/317052。 使用

rsync -anicu  . user@remote_host:directory/

相关内容