使用diff或者vimdiff比较远程文件(夹)与本地文件夹

方法1:管道给diff

$ssh eric@192.168.1.11 "cat ~/remote_file.txt" | diff - ~/local_file.txt

如果 File1 和 File2 参数都不是目录,其中之一可能给定负号“-”,以采用标准输入。

如果 File1 参数是目录,则使用目录中与 File2 参数指定的文件名一致的那个文件。

如果都是目录,可以先使用sshfs挂载到本地。

如果没有权限,diff -r <(ls local_dir) <(ssh username@hostname "ls remote_dir")
由于shell版本的问题(猜测),sh执行的话会报错"unexpected token '('",但是可以得到正确结果。

方法2:使用vim内建的scp支持

$vimdiff scp://eric@192.168.1.11/~/remote_file.txt ~/local_file.txt

另外,vim内建的scp支持还可以编辑远程文件:
$vim scp://eric@192.168.1.11/~/remote_file.txt

原文地址:https://www.cnblogs.com/mrwuzs/p/10748790.html