我在使用从远程计算机传输文件时遇到了一些困难scp
。问题显然与文件所在目录的名称有关。它们位于名为 的 CD 驱动器上(和photos 4
之间有一个空格)。当我尝试传输时,我使用了以下命令: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
到远程计算机的桌面,然后运行以下命令:
scp [remote username]@192.168.1.X:/home/[remote username]/Desktop/file.jpg /home/[username]/Pictures
并且成功了,所以转义序列似乎是罪魁祸首。我就是搞不清楚它到底出了什么问题。)
答案1
目录或文件名中的空格是 Linux 系统的天敌,但当然可以逃脱尽职尽责。您可以尝试以下三种方法:
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 .
所有这些都应该可以工作,但有些在语法上比其他的更容易理解......
参考: