我想比較兩個遠程本地文本文件。與差異我會這樣做與超越遠程本地文件比較
ssh [email protected] "cat myfile.txt" | diff - local.txt
有沒有辦法使用超越比較執行相同的比較?如果我做
ssh [email protected] "cat myfile.txt" | bcompare - local.txt
我只得到顯示的本地文件。
我想比較兩個遠程本地文本文件。與差異我會這樣做與超越遠程本地文件比較
ssh [email protected] "cat myfile.txt" | diff - local.txt
有沒有辦法使用超越比較執行相同的比較?如果我做
ssh [email protected] "cat myfile.txt" | bcompare - local.txt
我只得到顯示的本地文件。
,我在這種情況下,用一個巧妙的方法是使用sshfs
使遠程目錄顯示爲本地一個無法比擬的:
sshfs [email protected]:/opt/data /tmp/transfer
然後你可以使用任何版本比較工具比較您的本地數據通過diff -Nur /local/data/dir /tmp/transfer
或遠程通過比較,您可以根據需要來回複製文件。
請注意,您可能需要通過包管理器安裝sshfs,例如,在Debian/Ubuntu的通過apt-get install sshfs
可能的選項:
-o PubkeyAuthentication=no
:如果您需要密碼驗證,但是SSH第一次嘗試了太多的私鑰authenticaitions,如果你使用的私鑰身份驗證此服務器是否不需要在所有-o sshfs_debug
私鑰身份驗證:如果驗證/連接失敗-o idmap=user
打印出更多的信息:使用的idMap =用戶選項的UID翻譯用戶連接到遠程用戶-o gid=1000
:uid,gid - set將文件的所有權報告給定值; uid是用戶的數字用戶ID,gid是用戶的數字組ID。-o nomap=error
:失敗,如果用戶映射不能做Beyond Compare Pro包含內置的SFTP支持,因此您可以將SFTP URL作爲命令行參數直接傳遞給它。
bcompare local.txt sftp://user:[email protected]/folder/file.txt
如果您沒有在URL中提供密碼,Beyond Compare會提示您輸入密碼。
bcompare local.txt sftp://[email protected]/folder/file.txt
我不確定這是否屬於我的情況。我想將本地文件與集羣遠程目錄中的文件進行比較。我通常訪問它做 'ssh [email protected]「cd my/directory /」' – Manfredo
許多支持SSH的服務器也支持SFTP。在你的例子中,你會使用命令行:'bcompare sftp:// name @ login.xxx/my/directory/file.ext' –
@ChrisKennedy,Beyond Compare Pro支持SFT和私人RSA密鑰認證'ssh'的'-i'選項)?還是隻有基於密碼的認證? – Dmitriusan
哇,你的技巧很好。你介意解釋一下選項的含義嗎?謝謝 – Manfredo
完成,我只是碰巧在一個場景中使用這些設備,它們不是強制性的,但通常很有用,我稍微解釋了一下它們的作用,並提供了一些鏈接以獲取更多信息。 – centic