SCPコピーファイルとディレクトリ
Linux scpコマンドは、Linux間でファイルとディレクトリをコピーするために使用されます。
scpはセキュアコピーの略で、scpはLinuxシステムでのsshログインに基づくセキュアなリモートファイルコピーコマンドです。
scpは暗号化され、rcp は暗号化されません。scpはrcpの拡張バージョンです。
1.文法
scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [ -i identity_file] [ -l limit] [-o ssh_option] [-P port] [ -S program] [[user @] host1:] file1 [ ...] [[user @] host2:] file2
略記:
scp [オプションのパラメーター] file_source file_target
2.パラメータ
- -1:プロトコルssh1を使用するようにscpコマンドを強制します
- -2:scpコマンドがプロトコルssh2を使用するように強制します
- -4:IPv4アドレス指定のみを使用するようにscpコマンドを強制します
- -6:IPv6アドレッシングのみを使用するようにscpコマンドを強制します
- -B:バッチモードを使用します(送信中に送信パスワードまたはフレーズを要求しないでください)
- -C:圧縮を許可します。(-Cフラグをsshに渡して圧縮をオンにします)
- -p:元のファイルの変更時刻、アクセス時刻、アクセス権を保持します。
- -q:送信プログレスバーを表示しません。
- -r:ディレクトリ全体を再帰的にコピーします。
- -v:詳細モードで出力を表示します。scpとssh(1)は、プロセス全体のデバッグ情報を表示します。この情報は、接続のデバッグ、問題の検証と構成に使用されます。
- -c cipher:暗号でデータ送信を暗号化します。このオプションは直接sshに渡されます。
- -F ssh_config:代替のssh構成ファイルを指定します。このパラメーターは直接sshに渡されます。
- -i identity_file:指定されたファイルから送信に使用されるキーファイルを読み取ります。このパラメーターは直接sshに渡されます。
- -l limit:ユーザーが使用できる帯域幅をキロビット/秒で制限します。
- -o ssh_option:ssh_config(5)でパラメーターを渡す方法に慣れている場合、
- -Pポート:大文字のPポートは、データ転送を指定するために使用されるポート番号です。
- -Sプログラム:暗号化送信に使用するプログラムを指定します。このプログラムは、ssh(1)オプションを理解できなければなりません。
3.例
1.ローカルからリモートにコピーする
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の指定、ファイル名の変更、第二指定するファイル名。
- 3番目と4番目のユーザー名は指定されていません。コマンドの実行後にユーザー名とパスワードを入力する必要があります。3番目はリモートディレクトリのみを指定し、ファイル名は変更されません。4番目はファイル名を指定します。
アプリケーション例:
scp /home/space/music/1.mp3 [email protected]:/ home / root / others / music scp /home/space/music/1.mp3 [email protected]:/ home / root / others / music / 001 .mp3 scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/ music scp /home/space/music/1.mp3 www.runoob.com: /home/root/others/music/001.mp3
2.コピーディレクトリのコマンド形式:
scp -r local_folder remote_username @ remote_ip:remote_folder
または者
scp -r local_folder remote_ip:remote_folder
- 最初のものはユーザー名を指定し、コマンドの実行後にパスワードを入力する必要があります。
- 2番目はユーザー名を指定しないため、コマンドの実行後にユーザー名とパスワードを入力する必要があります。
アプリケーション例:
scp -r / home / space / music / [email protected]:/ home / root / others / scp -r / home / space / music / www.runoob.com:/home/root/others/
上記のコマンドは、ローカルの音楽ディレクトリをリモートの他のディレクトリにコピーします。
2.リモートからローカルにコピーする
次の例に示すように、ローカルからリモートへのコマンドの最後の2つのパラメーターの順序が逆になっている限り、リモートからローカルにコピーします。
scp [email protected]:/ home / root / others / music / home / space / music / 1 .mp3 scp -r www.runoob.com:/home/root/others/ / home / space / music /
解説
1.リモートサーバーのファイアウォールがscpコマンドに指定されたポートを設定している場合、-Pパラメーターを使用してコマンドのポート番号を設定する必要があります。コマンドの形式は次のとおりです。
#scpコマンドは、ポート番号4588を使用して 、SCP -P 4588 [email protected]:/usr/local/sin.sh /ホーム/管理者
2. scpコマンドを使用して、使用するユーザーにリモートサーバー上の対応するファイルを読み取る権限があることを確認します。そうでない場合、scpコマンドは機能しません。