我在使用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复制到远程计算机的桌面上,然后运行以下命令:
scp [remote username]@192.168.1.X:/home/[remote username]/Desktop/file.jpg /home/[username]/Pictures它起作用了,所以逃逸序列似乎是罪魁祸首。我就是搞不懂这是怎么回事。)
发布于 2016-07-14 02:00:20
目录或文件名中的空格是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 .一切都应该工作,但有些在语法上比其他人更容易理解.
发布于 2021-09-08 17:43:58
这是ZSH用户的修补程序,
https://askubuntu.com/questions/757824
复制相似问题