
scp
リモート コンピューターからファイルを転送するのに を使用するのが少し困難です。この問題は、ファイルが含まれているディレクトリの名前に関係しているようです。ファイルは、 (とphotos 4
の間にスペースが 1 つ) という CD ドライブにあります。転送を試みたとき、次のコマンドを使用しました。photos
4
scp [remote username]@192.168.1.X:/media/[remote username]/photos\ 4/file.jpg /home/[username]/Pictures
しかし、 というエラー メッセージが返されますNo directory: /media/[remote username]/photos
。バックスラッシュによってスペースがエスケープされ、ディレクトリが として読み取られると思いましたphotos 4
。
ここで私が何を間違っているのか誰か教えてもらえますか?
file.jpg
(余談ですが、 をリモート コンピュータのデスクトップにコピーし、次のコマンドを実行しました。
scp [remote username]@192.168.1.X:/home/[remote username]/Desktop/file.jpg /home/[username]/Pictures
そしてそれはうまくいったので、エスケープ シーケンスが原因のようです。何が問題なのかはわかりません。
答え1
ディレクトリやファイル名のスペースはLinuxシステムの天敵ですが、もちろん逃げた十分な注意を払って。試すことができる可能性は 3 つあります。
scp [remote username]@192.168.1.X:"'/media/remote_username/photos 4/file.jpg'" .
scp [remote username]@192.168.1.X:"/media/remote_username/photos\ 4/file.jpg" .
scp [remote username]@192.168.1.X:/media/remote_username/photos\\\ 4/file.jpg .
すべて動作するはずですが、構文的には他のものよりも理解しやすいものもあります...
参考文献: