scpはLinuxサーバーから別のlinuxサーバにデータをコピーします。


scpはsecure copyの簡略であり、Linuxでファイルをリモートでコピーするためのコマンドであり、それと似たようなコマンドはcpがありますが、cpは本機でコピーするだけではサーバーを越えられないし、scp伝送は暗号化されています。ちょっとスピードに影響するかもしれません。あなたのサーバーのハードディスクがリードオンリーのsystemになったら、scpでファイルを移動してくれます。また、scpはまだ資源を占めていないので、システムの負荷はあまり上がらないです。この点において、rsyncははるかに及ばないです。rsyncはscpより少し早いですが、小さいファイルが多い場合、rsyncはハードディスクのI/Oが非常に高くなります。scpはシステムの正常な使用に影響しません。
1.コマンド形式:
scp[パラメータ][元のパス][ターゲットパス]
2.コマンド機能:
scpはsecure copyの略語で、scpはlinuxシステムの下でssh登録に基づいて安全なリモートファイルコピーコマンドです。linuxのscpコマンドは、ファイルとディレクトリをlinuxサーバ間でコピーすることができる。
3.コマンドパラメータ:
-1  強制scpコマンド使用プロトコルssh 1 
-2  強制scpコマンド使用プロトコルssh 2 
-4  強制scpコマンドはIPv 4のみでアドレス指定します。 
-6  強制scpコマンドはIPv 6のみでアドレス指定します。 
-B  バッチ処理モードを使用する(送信中にパスワードやフレーズを尋ねない) 
-C  圧縮を許可します-Cマークをsshに渡し、圧縮機能を開く) 
-p元のファイルの変更時間、アクセス時間、アクセス権限を保持します。 
-q  送信プログレスバーは表示されません。 
-r  ディレクトリ全体を再帰的にコピーします。 
-v詳細に出力を表示します。scpとssh(1)はプロセス全体のデバッグ情報を表示します。これらの情報は接続をデバッグし、問題を検証し、構成するために使用されます。  
-c cipher  cipherでデータ転送を暗号化して、このオプションは直接にsshに伝えます。  
-F ssh_config  代替のsshプロファイルを指定します。このパラメータは直接にsshに伝えられます。 
-i identity_file  転送時に使用する鍵ファイルを指定ファイルから読み出し、このパラメータを直接にsshに渡す。   
-l limit  ユーザーが使用できる帯域幅をK bit/s単位で指定します。    
-o ssh_オプト  使い慣れたらssh_config(5)におけるパラメータ伝達方式は、  
-Pポート  注意、大文字のP、portはデータ転送を指定するためのポート番号です。  
-S program  暗号化された転送に使用するプログラムを指定します。このプログラムはssh(1)のオプションを理解する必要があります。
4.使用例:
scpコマンドの実際のアプリケーションの概要: 
ローカルサーバからリモートサーバにコピー:
(1)ファイルのコピー: 
コマンド形式: 

scp local_file remote_username@remote_ip:remote_folder 
または 

scp local_file remote_username@remote_ip:remote_file 
または 

scp local_file remote_ip:remote_folder 
または 

scp local_file remote_ip:remote_file 
第1、2つはユーザー名を指定しています。コマンド実行後はユーザパスワードを入力する必要があります。1番目はリモートのディレクトリのみ指定されています。ファイル名はそのままで、2番目はファイル名を指定しました。 
第3、4つはユーザー名が指定されていません。コマンド実行後はユーザー名とパスワードを入力する必要があります。3番目はリモートディレクトリのみ指定されています。ファイル名は変更されません。4番目はファイル名を指定しました。  
(2)ディレクトリのコピー: 
コマンド形式: 

scp -r local_folder remote_username@remote_ip:remote_folder 
または 

scp -r local_folder remote_ip:remote_folder 
1番目にユーザ名を指定しました。コマンド実行後にユーザパスワードを入力する必要があります。 
2番目にユーザ名が指定されていません。コマンド実行後にユーザ名とパスワードを入力する必要があります。
リモートサーバからローカルサーバにコピー:
リモートからローカルにコピーされたscpコマンドは上のコマンドと同じです。ローカルからリモートにコピーされたコマンドの後の2つのパラメータを順番に交換すればいいです。
例1:遠くからファイルをローカルディレクトリにコピーする
コマンド:
scp [email protected]:/opt/ソフト/nginx-0.0.38 tar.gz/opt/ソフト/
例1:遠くからファイルをローカルディレクトリにコピーする
コマンド:

scp [email protected]:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/
説明:
192.168.120.204マシン上の/opt/soft/のディレクトリからnginx-50.5.38 tar.gzファイルをローカル/opt/soft/ディレクトリにダウンロードします。
例2:遠くからローカルにコピーする
コマンド:

scp -r [email protected]:/opt/soft/mongodb /opt/soft/
説明:
192.168.120.204マシン上の/opt/ソフト/中からmongodbディレクトリをダウンロードしてローカル/opt/soft/ディレクトリに来ます。
例3:ローカルファイルをリモートマシン指定ディレクトリにアップロードする
コマンド:

scp /opt/soft/nginx-0.5.38.tar.gz [email protected]:/opt/soft/scptest
説明:
ローカルのopt/soft/ディレクトリの下のファイルnginx-0.5.8.8 tar.gzをコピーしてリモートマシン192.168.120.204のopt/soft/scptestディレクトリに行きます。
例4:ローカルディレクトリをリモートマシン指定ディレクトリにアップロードする
コマンド:

scp -r /opt/soft/mongodb [email protected]:/opt/soft/scptest
締め括りをつける
以上は小编が皆さんに绍介したscpで、データをlinuxサーバーからもう一つのlinuxサーバーにコピーしました。皆さんに助けてほしいです。もし何か疑问があれば、メッセージをください。小编はすぐに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。