我想复制.jpg
和.png
文件scp
,但在我从中复制的同一文件夹中存在具有不同扩展名的文件。我正在做以下事情:
scp user@someRemoteHost.com:/folder/*.{jpg,png} .
Run Code Online (Sandbox Code Playgroud)
我被要求为每种扩展类型输入密码。有没有办法让我只输入一次密码?
A.B*_*A.B 37
只需将其替换为:
scp user@someRemoteHost.com:'/folder/*.{jpg,png}' .
Run Code Online (Sandbox Code Playgroud)
请注意一对单引号。在您的情况下,您的本地 shell 正在评估表达式,将其真正转换为:
scp user@someRemoteHost.com:/folder/*.jpg user@someRemoteHost.com:/folder/*.png .
Run Code Online (Sandbox Code Playgroud)
因此询问了两个密码。在这个解决方案中,一对单引号保护它不被本地 shell 评估,所以它是由(远程)scp 调用的远程 shell 正在评估表达式。
Pra*_* BS 12
最好使用 rsync 在服务器之间进行复制操作。
rsync -avzh user@remoteip:/path/*.jpg user@192.168.159.155:/path/*.png localserverpath
Run Code Online (Sandbox Code Playgroud)
使用 rsync 它只会要求输入一次密码。
同样在 rsync 传输文件时,它会检查目标位置是否存在文件,并检查源位置和目标位置的内容是否相同。
如果文件也存在于目标位置并且内容也相同,则不会复制该文件。它只会复制目标位置不存在的文件,因此减少了处理时间。
rsync 通常用作增量备份工具。