方法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