如何在Linux中的scp复制期间转义路径中的空间?

我是新来的Linux,我想复制一个文件从远程到本地系统...现在我在Linux系统中使用scp命令..我有一些文件夹或文件名称与空格,当我试图复制文件,它显示错误消息:“没有这样的文件或目录”

我试过了:

scp ael5105@192.168.0.200:'/home/5105/test/gg/Untitled Folder/a/qy.jpg' /var/www/try/

我在网上看到了一些参考文献,但我不完全理解,有没有人可以帮助解决这个问题?

如何在复制期间转义文件名称或目录名称中的空格...


基本上你需要逃避两次,因为它在本地逃脱,然后在远端逃脱。

有几个选项可以做(在bash中):

scp user@example.com:"'web/tmp/Master File 18 10 13.xls'" .
scp user@example.com:"web/tmp/Master File 18 10 13.xls" .
scp user@example.com:web/tmp/Master File 18 10 13.xls .

作品

scp localhost:"f/a b c" .

scp localhost:'f/a b c' .

不起作用

scp localhost:'f/a b c' .

原因是该字符串在路径传递给scp命令之前由shell解释。 因此,当它到达远程时,远程机器正在寻找带有未转义引号的字符串,并且失败

为了看到这一点,使用-vx选项(例如bash -vx启动一个shell,它会在运行它时显示该命令的插值版本。


你也可以做这样的事情:

scp foo@bar:""apath/with spaces in it/""

第一级引用将由scp解释,然后第二级引号将保留这些空格。

链接地址: http://www.djcxy.com/p/25723.html

上一篇: How to escape spaces in path during scp copy in linux?

下一篇: SSH SCP Local file to Remote in Terminal Mac Os X