【Bash】「rcp」 - ネットワーク上で、ファイルをコピーする
Shell Script / シェルスクリプト
【Bash】
「rcp」 - ネットワーク上で、ファイルをコピーする
書式
ネットワーク上でファイルをコピーする。
セキュリティ性を考慮するときは、「scp」コマンドを使用する。
「scp」コマンドは、「ssh」コマンドと同様の暗号化された通信でのデータ送受信を行っている。
「rcp」コマンドは、ネットワークで接続されたコンピュータ間で、ファイルのコピーを行う。
複数のファイルも指定できるが、コピー先は、DIRで指定したディレクトリへまとめてコピーすることになる。
指定したホスト名のファイルを別のホスト名の端末にコピーできる。
「rcp」コマンドは、ネットワーク上でファイルをコピーするためのコマンドで、利用するときは、指定したホストへの認証情報が必要になる。
書式
rcp [-p] FILE1 FILE2
rcp [-pr] FILE... DIR
rcp オプション 転送元ファイル名 転送先ファイル名
rcp オプション ユーザ名@ホスト名:転送元ファイル名 ユーザ名@ホスト名:転送先ファイル名
オプション
-B | バッチ処理モードでの実行 |
-C | 送出時にデータを圧縮する。 |
-p | 接続するポート番号を指定する。 |
-P | コピー元のファイル情報・属性を転送先に継承させることができる。 |
-r | ディレクトリとサブディレクトリも含めてコピーする。 |
-p |
「所有者ID」,「グループID」,「アクセス権」,「最終更新日時」,「最終アクセス日時」をコピー元と同じのままコピー。
このオプションを指定しない場合、新規にファイルを作成したのと同じ。
|
-r |
FILE...にディレクトリを含む場合、そのディレクトリ配下のディレクトリとファイルをまとめてコピーする。
|
引数
rcpコマンドのファイル指定方法 | user@host:/ディレクトリ名/ディレクトリ名/ファイル名 |
rcpコマンドのディレクトリ指定方法 | user@host:/ディレクトリ名/ディレクトリ名/ |
FILE1 | コピー元のファイル名を指定。ローカルファイルの場合、通常ファイル名の指定方法と同じ。 |
FILE2 | コピー先のファイル名を指定。ローカルファイルの場合、通常ファイル名の指定方法と同じ。 |
FILE... |
コピー元ファイルを複数指定する場合、ファイル名をスペースで区切って指定。
複数ファイルのコピー先はディレクトリのみ。
|
DIR | コピー先のディレクトリ名を指定。
|
サンプルコード
rcp host01:/home/cmd/dir03/file03b file03 | ネットワーク上ファイルをローカルホストディレクトリへコピー |
rcp User01@host01:file01 User02@host02:dir02/file02 | リモートホスト間でファイルをコピー |
rcp User01@host01:file01 User02@host02:file02 dir03 | 複数のリモートホストのファイルをディレクトリへコピー |
rcp -r User01@host01:dir01 dir02 | リモートホスト「host01」のディレクトリ「dir01」を、ローカルホストのディレクトリ「dir02」の配下へコピー |