如何使用空格scp文件名?
我使用scp
从远程计算机传输文件有点困难。 问题显然与包含文件的目录名称有关。它们位于名为photos 4
的CD驱动器上( photos
与4
之间有空格)。 当我尝试传输时,我使用了以下命令:
scp [remote username]@192.168.1.X:/media/[remote username]/photos\ 4/file.jpg /home/[username]/Pictures
但是,我收到一条错误消息,说明No directory: /media/[remote username]/photos
。 我认为反斜杠会逃离空间,因此目录将被视为photos 4
。
有人可以告诉我我在这里做错了什么吗?
( file.jpg
,我将file.jpg
的副本复制到远程计算机的桌面,然后运行命令:
scp [remote username]@192.168.1.X:/home/[remote username]/Desktop/file.jpg /home/[username]/Pictures
它起作用了,所以转义序列似乎是罪魁祸首。 我只是无法弄清楚它有什么问题。)
目录或文件名中的空格是Linux系统的天敌,但当然可以通过尽职调查进行转义 。 您可以尝试3种可能性:
-
scp [remote username]@192.168.1.X:"'/media/remote_username/photos 4/file.jpg'" .
-
scp [remote username]@192.168.1.X:"/media/remote_username/photos\ 4/file.jpg" .
-
scp [remote username]@192.168.1.X:/media/remote_username/photos\\\ 4/file.jpg .
一切都应该有效,但有些在语法上比其他人更容易理解……
参考文献:
- 如何在linux中的scp复制期间转义路径中的空格?