SCPを使用してLinux(正確にはRaspbian、重要ではありません)からWindowsにファイルをコピーしようとするとき:
scp a.txt {user}@{ip}:\C\Users\{user}\a.txt
ファイルがコピーされましたがC:\Users\{user}\CUsers{user}a.txt
。
どういうわけか「\」をエスケープする必要があるようですが、方法がわかりません。
答え1
Windowsで使用したことがないscp
ので推測だけしていますが、バックスラッシュが無視されるようです。または、むしろエスケープ文字として扱われ、関連項目をエスケープしないので無視されるようなものです。 Linuxシステムでは、次の点を考慮してください。
$ cd \usr\share
bash: cd: usrshare: No such file or directory
ご覧の\
とおり、上記のように無視され、パスは単一の文字列にリンクされています。
デフォルトの宛先はscp
ユーザーのホームディレクトリです。したがって、\C\Users\userName
指定したいパスがファイル名として使用され(\C\Users\userName\a.txt
) 、ファイルはその名前のCUsersuserNamea.txt
デフォルトの場所に保存されます。C:\Users\userName\CUsersuserNamea.txt
この場合、簡単な解決策はパスを指定しないことです。
scp a.txt user@ip:
答え2
Windowsパスを使用する場合は、次の相対パス(ホームディレクトリベース)を使用することをお勧めします。
scp a.txt {user}@{ip}:a.txt