如何在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