我想比较两个远程本地文本文件。与差异我会这样做与超越远程本地文件比较
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