我想从远程复制一个文件到本地系统。现在我在linux系统中使用scp命令。我有一些文件夹或文件名有空格,当我试图复制该文件时,它显示错误消息:“没有这样的文件或目录”。
我试着:
scp ael5105@192.168.0.200:'/home/5105/test/gg/Untitled Folder/a/qy.jpg' /var/www/try/
我在网上看到了一些参考资料,但我不太明白,有人能帮我吗?
我如何在复制过程中转义文件名或目录名中的空格…
我想从远程复制一个文件到本地系统。现在我在linux系统中使用scp命令。我有一些文件夹或文件名有空格,当我试图复制该文件时,它显示错误消息:“没有这样的文件或目录”。
我试着:
scp ael5105@192.168.0.200:'/home/5105/test/gg/Untitled Folder/a/qy.jpg' /var/www/try/
我在网上看到了一些参考资料,但我不太明白,有人能帮我吗?
我如何在复制过程中转义文件名或目录名中的空格…
当前回答
你也可以这样做:
scp foo@bar:"\"apath/with spaces in it/\""
第一级引号将由scp解释,然后第二级引号将保留空格。
其他回答
在linux-terminal或cmd中,如果字与字之间有空格,必须使用引号(")("")标记。
你应该这样做:
$ '/home/tryhackme'
not
$ /home/tryhackme
我有巨大的困难,使这一工作的shell变量包含一个文件名与空格。出于某种原因使用:
file="foo bar/baz"
scp user@example.com:"'$file'"
比如@Adrian的回答似乎失败了。
事实证明,最有效的方法是使用参数展开将反斜杠前置到空格,如下所示:
file="foo bar/baz"
file=${file// /\\ }
scp user@example.com:"$file"
你也可以这样做:
scp foo@bar:"\"apath/with spaces in it/\""
第一级引号将由scp解释,然后第二级引号将保留空格。
使用3个反斜杠来转义目录名中的空格:
scp user@host:/path/to/directory\\\ space /file ~/下载
应该从名为“带空格的目录”的远程目录中将文件复制到“下载”目录。
scp ael5105@ 192168 /home/5105/test/gg/Untitled?文件夹/a/qy /var/www/try/
的吗?远程和将匹配任何字符,包括空格吗