写点什么

scp 高效操作之避免 zsh 路径展开

作者:Nick
  • 2022 年 6 月 06 日
  • 本文字数:582 字

    阅读完需:约 2 分钟

scp 高效操作之避免 zsh  路径展开

本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)

本文作者: Nicksxs

创建时间: 2022-02-06

本文链接: scp 高效操作之避免 zsh 路径展开


scp 是个在服务器之间拷贝文件的一个常用命令,它可在本地系统与远程系统之间或者两个远程系统之间复制文件或目录。您可(在使用 ssh 命令登录后)从远程系统使用此命令,也可从本地系统使用此命令。scp 命令使用 ssh 进行数据传输。因此,scp 命令与 ssh 命令使用相同的验证方法并且提供相同的安全性。

通过 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

发布于: 11 小时前阅读数: 5
用户头像

Nick

关注

还未添加个人签名 2017.12.22 加入

写代码的阿森 https://nicksxs.me https://nicksxs.com 也可以看我的博客

评论

发布
暂无评论
scp 高效操作之避免 zsh  路径展开_Linux_Nick_InfoQ写作社区