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

从几十个文件的目录中, 是否可以使用SFTP一次GET或PUT两个文件

我不想使用通配符因为我不一定知道所有文件的名称,也不想影响其他文件。

我希望有这样的事情:

get javascript.gs,stylesheet.css 

从谷歌search和查看各种Stackexchanges,看起来这不可能。

有人有确切消息么?

你可以做:

 sftp user@host << EOF! get /path/to/file1 get /path/to/file2 EOF! 

但是我个人更喜欢在这种情况下使用scp

如果可能的话,使用lftp作为您的sftp客户端(可用于所有相关的Linux发行版和*软件包集合中的BSD):

 lftp sftp://[email protected] 

那么你可以使用mget命令:

 mget javascript.gs stylesheet.css 

如果lftp不可用,则可以在标准sftp命令中使用-b (批处理)选项。 首先创build一个包含的文本文件

 get javascript.gs get stylesheet.css 

然后使用命令

 sftp -b yourtextfile.txt [email protected] 

你不能用sftp来实现,get的语法是get remote-path [local-path],这意味着第二个参数(如果提供的话)将被用来重命名本地系统上的文件。 同样,如果提供第二个参数,则会重命名上传的文件。

你可以使用scp来完成这项工作

 scp [email protected]:"/path/to/javascript.gs /path/to/stylesheet.css" /local/path 

你也可以使用一个sftp脚本。