我尝试将文件从 Linux(ubuntu)机器复制到安装在 Mac 上的外部硬盘驱动器,但收到一条错误消息:
scp: ambiguous target
我的做法是,在 Mac 上,通过 ssh 连接到文件所在的 Linux 机器。然后使用以下命令:
scp fileToCopy myMacUser@myMacMachine:/Volumes/MyExternalDrive/targetDirectory
我做错了什么? 在这种情况下应该使用什么命令?
答案1
如果路径中有空格,则必须使用双反斜杠\\
并将整个路径括在引号中来转义字符:
scp myfile.txt [email protected]:"/file\\ path\\ with\\ spaces/myfile.txt"
答案2
我发现两组引号对我有用,分别围绕目标位置。双引号在外面,单引号在双引号里面。例如:
scp "my local file.txt" [email protected]:"'/folder/my spacey folder name/'"
外面的引号代表本地 shell,里面的引号代表远程 shell。感谢 @mik 在评论中提出的建议。
答案3
您需要加上引号,以免空格被误解。scp file Server:/folder\ location/
您应该这样做,而不是这样做scp file "Server:/folder\ location/"