Linux で scp コピーのパス内のスペースをエスケープするにはどうすればよいですか? 質問する

Linux で scp コピーのパス内のスペースをエスケープするにはどうすればよいですか? 質問する

リモートからローカル システムにファイルをコピーしたいです。現在、Linux システムで scp コマンドを使用しています。名前にスペースが含まれているフォルダーやファイルがあり、そのファイルをコピーしようとすると、「そのようなファイルまたはディレクトリはありません」というエラー メッセージが表示されます。

私は試した:

scp [email protected]:'/home/5105/test/gg/Untitled Folder/a/qy.jpg' /var/www/try/

オンラインでいくつかの参考資料を見ましたが、完全に理解できません。誰か助けてくれませんか?

コピー中にファイル名またはディレクトリ名のスペースをエスケープするにはどうすればよいでしょうか...

ベストアンサー1

基本的に、ローカルでエスケープしてからリモート側でエスケープするため、2 回エスケープする必要があります。

実行できるオプションはいくつかあります (bash の場合):

scp [email protected]:"web/tmp/Master\ File\ 18\ 10\ 13.xls" .
scp [email protected]:web/tmp/Master\\\ File\\\ 18\\\ 10\\\ 13.xls .

別のオプションは、OpenSSH の古いバージョンと、おそらく他のクライアントでのみ機能します。

scp [email protected]:"'web/tmp/Master File 18 0 13.xls'" .

おすすめ記事