copia scp tiene error "objetivo ambiguo"

40

Intento copiar archivos de una máquina Linux (ubuntu) a un disco duro externo montado en una Mac, pero recibí un mensaje de error:

scp: ambiguous target

Lo que hice es, estoy en una Mac, ssh a la máquina Linux donde están los archivos. Luego use el siguiente comando:

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

Qué hice mal ? ¿Cuál es el buen comando para usar en este caso?

mover
fuente
Me sucedió cuando tenía un parámetro adicional ( -t; un remanente de un sshcomando anterior ) en la lista de argumentos; aparentemente no es compatible scppero el error que obtuve fue ambiguous target:(
Janaka Bandara

Respuestas:

61

Si tiene un espacio en blanco en una ruta, debe escapar de los caracteres utilizando barras diagonales inversas dobles \\y encerrando la ruta completa entre comillas:

scp myfile.txt [email protected]:"/file\\ path\\ with\\ spaces/myfile.txt"
Atnaize
fuente
3
sí eso es ! Primero intenté con doble \\ pero no funcionó y luego intenté agregar "" alrededor de mi camino con \\. Eso hace el trabajo. Gracias.
bob
1
Envolver la ruta remota entre comillas fue clave para mí
sam452
2
Las comillas simples y las barras invertidas simples funcionan igual de bien.
Andrew Lorien
1
Las barras invertidas triples sin comillas también funcionan.
pizzapants184
2
Las comillas dobles en qoutes simples sin espacios de escape también funcionan ( scp myfile.txt [email protected]:'"/file path with spaces/myfile.txt"'). De hecho, debe escapar del nombre de archivo dos veces: la primera desde el shell local y la segunda desde el remoto.
mik
0

Debe poner comillas para que los espacios no se malinterpreten. En lugar de hacer scp file Server:/folder\ location/deberías hacerscp file "Server:/folder\ location/"

Dr_Hope
fuente