GNU/Linux >> Linux の 問題 >  >> Linux

LinuxでScpのパスのスペースをエスケープするにはどうすればよいですか?

セキュアコピー ツール( scp )は、リモートコンピュータとの間でファイルを安全にコピーする簡単な方法です。しかし、 scp の場合、欲求不満は簡単に発生します。 ファイル名やフォルダパスにスペースが含まれているため、正しく機能しません。

このチュートリアルでは、パス名にスペースを含めることで発生するscpエラーを回避する3つの方法を紹介します。

Scpコマンドのパス名のスペースをエスケープする

次の画像は、 scpを使用するときに発生するおなじみのエラーを示しています。 ファイル名またはフォルダ名にスペースを含むコマンド。

私がやろうとしているのは、 file 1.txtという名前の単一のファイルをコピーすることだけです。 ビッグデータという名前のフォルダに含まれています 販売記録という名前のサブフォルダ 。

このようなエラーを回避する方法を見てみましょう。

1。 Scpでバックスラッシュを使用してスペースをエスケープする

scpコマンドを使用するときにパス内のスペースをエスケープする最初の方法は、バックスラッシュ(\)を追加することです。 各スペースの真正面。

これが例です。

$ scp big\ data/sales\ records/file\ 1.csv [email protected]:/home/shola

2。 Scpの引用符でスペースをエスケープする

パス名のスペースによるscpエラーを回避する2番目の方法は、パス名全体を引用符で囲むことです("") 。これは、二重引用符または一重引用符のいずれかで機能します。

例:

$ scp "big data/sales records/file 1.csv" [email protected]:/home/shola
OR
$ scp 'big data/sales records/file 1.csv' [email protected]:/home/shola

3。 Scpでバックスラッシュと引用符の両方を使用してスペースをエスケープする

パス名のスペースをエスケープする3番目の方法は、円記号と引用符を組み合わせることです。これは、リモートコンピュータからファイルをコピーするときに特に重要です。

これが例です。

$ scp "[email protected]:/home/shola/file\ 1.csv" "big data/sales records"
結論

このチュートリアルでは、パス名のスペースによるscpエラーを回避する3つの方法について説明しました。最初の方法はスペースの前に円記号を追加することですが、2番目の方法はパス名を引用符で囲むことです。 3番目の方法は、円記号と引用符を組み合わせることです。


Linux
  1. Linux用のPythonアプリケーションをパッケージ化する方法

  2. Linux で特定のユーザーに対して特定のコマンドを無効にする方法

  3. tar の絶対パスを除外するにはどうすればよいですか?

  1. LinuxでSCPコマンドにパスワードを渡す方法

  2. Linux –現在のプロセスでネットワークの共有を解除する方法は?

  3. Linux – Dmesgで何をgrepするかを知る方法は?

  1. Linux用の起動可能なUSBドライブを作成する方法

  2. Linuxデスクトップ用にOpenboxを設定する方法

  3. リモート Linux からローカル Windows への scp (ローカル パスにスペースを含む)