J'essaie de copier des fichiers d'une machine Linux (Ubuntu) sur un disque dur externe monté sur un Mac, mais j'ai reçu un message d'erreur:
scp: ambiguous target
Ce que j'ai fait, c'est que je suis sur un mac, ssh vers la machine Linux où se trouvent les fichiers. Utilisez ensuite la commande suivante:
scp fileToCopy myMacUser@myMacMachine:/Volumes/MyExternalDrive/targetDirectory
Qu'ai-je fait de mal ? Quelle est la bonne commande à utiliser dans ce cas?
macos
hard-drive
ssh
scp
bob
la source
la source
-t
; un reste d'unessh
commande précédente ) dans la liste arg; apparemment, il n'est pas pris en charge parscp
mais l'erreur que j'ai eue étaitambiguous target
:(Réponses:
Si vous avez un espace blanc dans un chemin, vous devez échapper les caractères en utilisant des doubles barres obliques inverses
\\
et en mettant le chemin entier entre guillemets:la source
scp myfile.txt [email protected]:'"/file path with spaces/myfile.txt"'
). En fait, vous devez échapper le nom de fichier deux fois: la première fois depuis le shell local et la deuxième fois depuis le shell distant.Vous devez mettre des guillemets pour que les espaces ne soient pas mal interprétés. Au lieu de faire,
scp file Server:/folder\ location/
vous devriez fairescp file "Server:/folder\ location/"
la source