是否可以使用不使用通配符的 SFTP 一次 GET 或 PUT 两个特定文件?

是否可以使用不使用通配符的 SFTP 一次 GET 或 PUT 两个特定文件?

从一个包含数十个文件的目录中,是否可以使用 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 脚本。

相关内容