Unicode in Python
目次:
- SCPコマンドの構文
- あなたが始める前に
scp
2つのシステム間でファイルとディレクトリをコピーするscp
コマンドを使用してローカルファイルをリモートシステムにコピーするscp
ommandを使用してリモートシステムをローカルシステムにコピーするscp
コマンドを使用して2つのリモートシステム間でファイルをコピーする- 結論
SCP(セキュアコピー)は、2つの場所間でファイルとディレクトリを安全にコピーできるコマンドラインユーティリティです。
scp
を使用すると、ファイルまたはディレクトリをコピーできます。
- ローカルシステムからリモートシステムへ。リモートシステムからローカルシステムへ。ローカルシステムから2つのリモートシステム間。
scp
使用してデータを転送する場合、ファイルとパスワードの両方が暗号化されるため、トラフィックを覗き見する人が機密情報を取得することはありません。
このチュートリアルでは、最も一般的なscpオプションの実用的な例と詳細な説明を通して
scp
コマンドの使用方法を示します。
SCPコマンドの構文
scp
コマンドの使用方法に入る前に、基本的な構文を確認することから始めましょう。
scp
コマンドの構文は次の形式を取ります。
scp SRC_HOST:]file1 DEST_HOST:]file2
-
OPTION
-暗号、ssh設定、sshポート、制限、再帰的コピーなどのscpオプション…SRC_HOST:]file1
ソースファイル。DEST_HOST:]file2
宛先ファイル
ローカルファイルは絶対パスまたは相対パスを使用して指定し、リモートファイル名にはユーザーとホストの指定を含める必要があります。
scp
は、その動作のあらゆる側面を制御する多くのオプションを提供します。 最も広く使用されているオプションは次のとおりです。
-
-P
リモートホストのsshポートを指定します。-p
ファイルの変更とアクセス時間を保持します。-q
進行状況メーターとエラー以外のメッセージを抑制する場合は、このオプションを使用します。-C
このオプションは、宛先マシンに送信されるデータを強制的に圧縮します。-r
このオプションは、ディレクトリを再帰的にコピーするようにscp
に指示します。
あなたが始める前に
scp
コマンドはデータ転送を
ssh
に依存しているため、リモートシステムで認証するにはsshキーまたはパスワードが必要です。
コロン(:)は、
scp
がローカルロケーションとリモートロケーションを区別する方法です。
ファイルをコピーできるようにするには、少なくともソースファイルの読み取り権限とターゲットシステムの書き込み権限が必要です。
両方のシステムで同じ名前と場所を共有するファイルをコピーするときは注意してください
scp
は警告なしにファイルを上書きします。
大きなファイルを転送する場合、画面またはtmuxセッション内で
scp
コマンドを実行することをお勧めします。
scp
2つのシステム間でファイルとディレクトリをコピーする
scp
コマンドを使用してローカルファイルをリモートシステムにコピーする
ローカルシステムからリモートシステムにファイルをコピーするには、次のコマンドを実行します。
scp file.txt [email protected]:/remote/directory
ここで、
file.txt
はコピーするファイルの名前、
remote_username
はリモートサーバー上のユーザー、
10.10.0.2
はサーバーのIPアドレスです。
/remote/directory
は、ファイルのコピー先のディレクトリへのパスです。 リモートディレクトリを指定しない場合、ファイルはリモートユーザーのホームディレクトリにコピーされます。
ユーザーパスワードの入力を求められ、転送プロセスが開始されます。
[email protected]'s password: file.txt 100% 0 0.0KB/s 00:00
宛先の場所からファイル名を省略すると、元の名前でファイルがコピーされます。 別の名前でファイルを保存する場合は、新しいファイル名を指定する必要があります。
scp file.txt [email protected]:/remote/directory/newfilename.txt
リモートホスト上のSSHがデフォルトの22以外のポートでリッスンしている場合、
-P
引数を使用してポートを指定できます。
scp -P 2322 file.txt [email protected]:/remote/directory
ディレクトリをコピーするコマンドは、ファイルをコピーするときとほとんど同じです。 唯一の違いは、再帰に
-r
フラグを使用する必要があることです。
ディレクトリをローカルシステムからリモートシステムにコピーするには、
-r
オプションを使用します。
scp -r /local/directory [email protected]:/remote/directory
scp
ommandを使用してリモートシステムをローカルシステムにコピーする
リモートからローカルシステムにファイルをコピーするには、リモートロケーションをソースとして使用し、ローカルロケーションを宛先として使用します。
たとえば、file
10.10.0.2
という名前のファイルをIP
10.10.0.2
リモートサーバーからコピーするには、次のコマンドを実行します。
scp [email protected]:/remote/file.txt /local/directory
scp
コマンドを使用して2つのリモートシステム間でファイルをコピーする
rsync
とは異なり、
scp
を使用する場合、サーバーの1つにログインしてファイルを別のリモートマシンに転送する必要はありません。
次のコマンドは、ファイル
/files/file.txt
をリモートホスト
host1.com
からリモートホスト
host1.com
のディレクトリ
/files
にコピーします。
scp [email protected]:/files/file.txt [email protected]:/files
両方のリモートアカウントのパスワードを入力するように求められます。 データは、あるリモートホストから別のリモートホストに直接転送されます。
コマンドが発行されたマシンを介してトラフィックをルーティングするには、
-3
オプションを使用します。
scp -3 [email protected]:/files/file.txt [email protected]:/files
結論
このチュートリアルでは、
scp
コマンドを使用してファイルとディレクトリをコピーする方法を学びました。
SSHキーベースの認証を設定し、パスワードを入力せずにLinuxサーバーに接続することもできます。
scp端末