scpコピーに「曖昧なターゲット」エラーがあります


40

Linux(ubuntu)マシンからMacにマウントされた外部ハードドライブにファイルをコピーしようとしましたが、エラーメッセージが表示されました。

scp: ambiguous target

私がやったことは、私はMac上にいて、ファイルがあるLinuxマシンにsshしているということです。次に、次のコマンドを使用します。

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

私は何を間違えましたか?この場合に使用する良いコマンドは何ですか?


argリストに余分なパラメータ(-t;前のsshコマンドの残り)があると、私に起こりました。どうやらそれはサポートされてscpいませんが、私が得たエラーはambiguous target:(
Janaka Bandara

回答:


61

パスに空白がある場合、二重バックスラッシュ\\を使用してパス全体を引用符で囲むことにより、文字をエスケープする必要があります。

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

3
はい、それだけです!最初に二重の\\を試しましたが、機能しませんでした。次に、\\でパスの周りに ""を追加しようとしました。それは仕事をします。ありがとう。
ボブ

1
リモートパスを引用符で
囲むこと

2
単一引用符と単一バックスラッシュも同様に機能します。
アンドリューロリアン

1
引用符なしのトリプルバックスラッシュも機能します。
pizzapants184

2
スペースをエスケープせずに単一のqoutesで二重引用符も機能します(scp myfile.txt user@192.168.1.100:'"/file path with spaces/myfile.txt"')。実際、ファイル名を2回エスケープする必要があります。1回目はローカルシェルから、2回目はリモートシェルから。
mik

0

スペースが誤って解釈されないように、引用符を付ける必要があります。する代わりに、scp file Server:/folder\ location/あなたはすべきですscp file "Server:/folder\ location/"

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.