如果我的电脑上有一个包含多个文件的文件夹,而远程服务器上有同一个文件夹的副本,是否可以通过 ssh 运行“diff”以便查看我的副本与远程服务器上的副本之间的差异?理想情况下,我想查看文件夹的任一副本中是否有任何额外/更少的文件,然后检查各个文件本身是否有任何差异。
答案1
查看文件夹的任一副本中是否有任何额外/更少的文件
diff -y <(ssh user@remote_server 'ls -1aR /remote_folder/') <(ls -1aR /local_folder/)
答案2
diff
仅适用于本地文件。您可以使用scp
或rsync
将文件复制到本地目录并将其与进行比较diff
,或者您可以使用类似sshfs
将远程目录挂载到本地目录并将其与第二个目录进行比较。
对于单个文件,您可以使用ssh
和diff
:
ssh user@machine cat remote-file | diff - local.file
答案3
查找哪些文件有所不同的另一种方法是使用 rsync,如中所述https://serverfault.com/a/16665/317052。 使用
rsync -anicu . user@remote_host:directory/