我有一个脚本可以将一些内容从本地复制到远程,其中remote作为输入参数。
为此,我使用scp
并且它还支持本地副本(意味着作为输入的遥控器与本地匹配)。
我想知道是否值得努力更改脚本,以便在这种特殊情况下,cp
将被调用而不是scp
。或许你知道scp
的内部实现是否为我做了这个?
答案 0 :(得分:2)
不要担心哪个更快,为什么不在脚本中实现一些分支
if [ "$1" = "local" ]
then
#Use cp
else
#Use scp
fi
也就是说,scp
应该比cp
慢,因为联机帮助页说:
scp在网络上的主机之间复制文件。它使用ssh(1) 数据传输,并使用相同的身份验证并提供 与ssh(1)相同的安全性。与rcp(1)不同,scp会要求输入密码 或者如果认证需要密码短语。
scp
中的开销是在传输发生之前验证主机和来宾所花费的时间。
但您可以将-o NoHostAuthenticationForLocalhost
选项与scp
一起用作解决方法。
scp -o NoHostAuthenticationForLocalhost target destination
应该与cp