从一个包含数十个文件的目录中,是否可以使用 SFTP 同时获取或放置两个文件?
我不想使用通配符因为我不一定知道所有文件的名称并且不想影响其他文件。
我希望有类似的东西:
get javascript.gs,stylesheet.css
从 Google 搜索和查看各种 Stackexchanges 来看,这似乎是不可能的。
有人有确切消息么?
答案1
你可以做:
sftp user@host << EOF!
get /path/to/file1
get /path/to/file2
EOF!
scp
但我个人更喜欢在这种情况下使用。
答案2
如果可能的话,使用它lftp
作为您的 sftp 客户端(适用于所有相关的 Linux 发行版和 *BSD 及其软件包集合):
lftp sftp://[email protected]
然后你可以使用mget
命令:
mget javascript.gs stylesheet.css
如果lftp
无法使用,则可以使用-b
标准命令中的(批处理)选项sftp
。首先创建一个包含以下内容的文本文件
get javascript.gs
get stylesheet.css
然后使用命令
sftp -b yourtextfile.txt [email protected]
答案3
您无法使用 sftp 执行此操作,get 的语法是 get remote-path [local-path],这意味着如果提供了第二个参数,它将用于重命名本地系统上的文件。同样,如果提供了第二个参数,put 将重命名上传的文件。
你可以使用 scp 来完成这项工作
scp [email protected]:"/path/to/javascript.gs /path/to/stylesheet.css" /local/path
您也可以使用 sftp 脚本。