kopia scp zawiera błąd „niejednoznaczny cel”

40

Próbuję skopiować pliki z komputera z systemem Linux (ubuntu) na zewnętrzny dysk twardy zamontowany na komputerze Mac, ale dostałem komunikat o błędzie:

scp: ambiguous target

To, co zrobiłem, to, że jestem na komputerze Mac, ssh na komputerze z systemem Linux, na którym znajdują się pliki. Następnie użyj następującego polecenia:

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

Co zrobiłem źle ? Jakiego polecenia należy użyć w tym przypadku?

kok
źródło
Stało się to, gdy miałem dodatkowy parametr ( -tpozostałość po poprzednim sshpoleceniu) na liście arg; najwyraźniej nie jest to obsługiwane, scpale błąd, który otrzymałem, to ambiguous target:(
Janaka Bandara,

Odpowiedzi:

61

Jeśli na ścieżce znajduje się spacja, musisz uciec od znaków, używając podwójnych ukośników odwrotnych \\i umieszczając całą ścieżkę w cudzysłowie:

scp myfile.txt [email protected]:"/file\\ path\\ with\\ spaces/myfile.txt"
Atnaize
źródło
3
tak to jest to ! Najpierw próbowałem z podwójnym \\, ale nie działałem, a potem próbowałem dodać „” wokół mojej ścieżki za pomocą \\. To działa. Dzięki.
Bob
1
Kluczem było dla mnie
zawarcie
2
Równie dobre są pojedyncze cytaty i pojedyncze ukośniki odwrotne.
andrew lorien
1
Działa także potrójne ukośniki odwrotne bez cudzysłowów.
pizzapants184
2
Działa także podwójny cudzysłów w pojedynczych sekwencjach bez spacji scp myfile.txt [email protected]:'"/file path with spaces/myfile.txt"'. W rzeczywistości musisz dwa razy uciec z nazwy pliku: pierwszy raz z lokalnej powłoki, a drugi raz ze zdalnej.
mik
0

Musisz wstawić cudzysłowy, aby spacje nie były źle interpretowane. Zamiast tego scp file Server:/folder\ location/powinieneś zrobićscp file "Server:/folder\ location/"

Dr_Hope
źródło