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