SCP复制具有错误“目标不明确”


40

我尝试将文件从Linux(ubuntu)计算机复制到Mac上安装的外部硬盘驱动器,但收到错误消息:

scp: ambiguous target

我所做的是,在Mac上,使用ssh到文件所在的linux机器。然后使用以下命令:

scp fileToCopy myMacUser@myMacMachine:/Volumes/MyExternalDrive/targetDirectory

我做错什么了 ?在这种情况下使用什么好命令?


当我在arg列表中有一个额外的参数(上-t一个ssh命令的剩余内容)时,发生在我身上。显然它不受支持,scp但我得到的错误是ambiguous target:(
Janaka Bandara

Answers:


61

如果路径中有空格,则必须使用双反斜杠\\并将整个路径用引号引起来转义字符:

scp myfile.txt user@192.168.1.100:"/file\\ path\\ with\\ spaces/myfile.txt"

3
是的,就是这样!我先尝试使用双\\,但没有成功,然后尝试使用\\在路径中添加“”。做到了。谢谢。
鲍勃,

1
用引号括

2
单引号和单反斜杠同样适用。
安德鲁·洛里安(Andrew lorien)

1
没有引号的三重反斜杠也可以。
pizzapant184 '18

2
单引号中的双引号也可以转义(scp myfile.txt user@192.168.1.100:'"/file path with spaces/myfile.txt"')。实际上,您必须两次对文件名进行转义:第一次是从本地Shell进行,第二次是从远程shell。
mik

0

您需要加上引号,以免空格被误解。而不是scp file Server:/folder\ location/你应该做scp file "Server:/folder\ location/"

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.