我正在使用 scp 命令从远程服务器提取一些文件,但该命令的一个变体不起作用。
我在远程服务器上有 2 个文件名为 one.xml 和 two.xml,我使用以下命令将这两个文件拉到当前目录中:
scp [email protected]:/student/class/Intermediate/one.xml .
scp [email protected]:/student/class/Intermediate/two.xml .
上述命令工作正常,但如果我使用通配符一次性提取所有 xml 文件,如下所示,它会返回 scp:无匹配。
scp [email protected]:/student/class/Intermediate/*.xml .
为什么如果我单独提取文件,它就可以工作,而如果我尝试使用通配符提取,它却不工作。
答案1
我不确定为什么它不起作用——你的简单示例在我的测试中有效。
作为一个潜在的建议,你的通配符可能必须进行转义,以避免被本地 shell 解释,前它们会传递到远程 shell。因此,使用你的命令时,你的本地 shell 可能会在当前工作目录中查找与 *.xml 匹配的文件。尝试用单引号封装命令的远程部分,如下所示:
scp [email protected]:'/student/class/Intermediate/*.xml' .