Nicksxs's Blog

What hurts more, the pain of hard work or the pain of regret?

0%

# 分享记录一下一个 scp 操作方法

发表于 2022-02-06 分类于 shell ， 小技巧 阅读次数： 阅读次数： Disqus：

scp 是个在服务器之间拷贝文件的一个常用命令，有时候有个场景是比如我们需要拷贝一些带有共同前缀的文件，但是有一个问题是比如我们有使用 zsh 的话，会出现一个报错，

    zsh: no matches found: root@100.100.100.100://root/prefix*

这里就比较奇怪了，这个前缀的文件肯定是有的，这里其实是由于 zsh 会对 `*` 进行展开，这个可以在例如 `ls` 命令在使用中就可以发现 `zsh` 有这个特性
需要使用双引号或单引号将路径包起来或者在`*`之前加反斜杠`\`来阻止对`*`展开和转义

    scp root@100.100.100.100://root/prefix* .

通过使用双引号`"`进行转义

    scp root@100.100.100.100:"//root/prefix*" .

或者可以将 shell 从 zsh 切换成 bash