rcp - リモートファイルコピー
rcp [-p] [-a] [-K] [-x] [-PN | -PO] [-k realm] filename1 filename2
rcp [-pr] [-a] [-K] [-x] [-PN | -PO] [-k realm] filename... directory
rcp コマンドは、マシン間でファイルをコピーします。filename 引数、directory 引数にリモートファイルを指定する場合は、次のような書式を使用します。
hostname:path
ローカルファイルを指定する場合は、コロン (:) を使用しないか、コロンの前にスラッシュ (/) を付けます。
hostname には、IPv4 または IPv6 のアドレス文字列を指定できます (inet(4P)、inet6(4P) を参照)。IPv6 のアドレスにはコロンが含まれているので、hostname を角括弧で囲む必要があります。hostname を角括弧で囲まないと、最初のコロンが hostname と path の区切り文字と見なされてしまいます。例:
[1080::8:800:200C:417A]:tmp/file
また、フルパス名を指定しないと、filename はホスト (hostname) 上のホームディレクトリから見た相対パスと解釈されます。リモートホスト上のパス名と解釈させるには、パス名 (path) を \ 、" 、 ' などで囲みます。Kerberos 認証バージョンの rcp は IPv6 が無効であることに注意してください。
rcp コマンドの使用時、パスワードを入力する必要はありません。Kerberos 認証をコマンド行オプションで有効にした場合、rcp は Kerberos 認証を使用します。そうでない場合、現在のローカルユーザー名が hostname 上に存在し、 rsh(1) でリモートコマンドを実行できる必要があります。
rcp セッションで Kerberos 認証を使用するには、次の任意の Kerberos 固有オプションを使用します。 –a、–PN または –PO、–x、および –k realm。これらのオプションのうち、–a、–x、および –PN または –PO は、krb5.conf.5 の [appdefaults] セクションにも指定できます。これらのオプションの使用法と期待される動作については、次の「オプション」セクションを参照してください。Kerberos 承認を使用する場合、アカウントの承認は、krb5_auth_rules(7) の規則によって制御されます。Kerberos 承認が失敗した場合、–PO オプションをコマンド行に明示的に指定するか、krb5.conf.5 経由で指定している場合にのみ、rhosts を使用する通常の rcp へのフォールバックが発生します。Kerberos 承認が成功した場合、パスワードの入力は求められずに、リモートコピーは成功します。–PN または –PO、–x、および –k realm オプションは、–a オプションの上位集合であることに注意してください。
rcp では、ソースファイルもターゲットファイルも現在のマシン上に存在しないような「サードパーティコピー」も処理できます。ホスト名は、次の形式になります。
username@hostname:filename
この場合、現在のローカルユーザー名でなく、username に指定されたユーザー名が リモートホスト上のユーザー名として使用されます。また、rcp は、リモートホストの インターネットドメインアドレス指定をサポートしており、次の形式で指定できます。
username@host.domain:filename
使用するユーザー名、ホスト名、ホストの所属するドメインを指定できます。filename にフルパス名を指定しないと、username に指定したリモートホスト上のユーザーのホームディレクトリから見た相対アドレスと解釈されます。
サポートしているオプションは、次のとおりです。
必要に応じて、各コピーに、オリジナルのファイルと同じ変更時間、アクセス時間、モード、ACL を設定します。
指定された filename のサブツリーをコピーします。この場合、コピー先はディレクトリでなければなりません。
次の終了ステータスが返されます。
すべてのファイルを正常にコピーしました。
エラーが発生しました。
終了コードの注意点に関する「注意事項」の項を参照してください。
$HOME/.profile
アクセスを許可する Kerberos 主体を含むファイル
Kerberos 構成ファイル
属性についての詳細は、マニュアルページの attributes(7) を参照してください。
|
cpio(1), ftp(1), rlogin(1), rsh(1), tar(1), tar(1), inet(4P), inet6(4P), ip6(4P), hosts.equiv(5), attributes(7), in.rshd(8)
rcp の目的は、別々のホスト間でファイルをコピーすることです。このため、たとえば次のような指定で、あるファイルをそのファイル自体にコピーしようとすると、
example% rcp tmp/file myhost:/tmp/file
ファイルが壊れてしまいます。
コピーの対象がディレクトリではなくファイルである場合、rcp が正常に失敗しないことがあります。
また、リモートホスト上の $HOME/.profile ファイルに指定されているコマンドからの出力によって、処理が正しく行われないこともあります。
rcp でサードパーティコピーを行うには、ソースホストがリモートホスト上で コマンドを実行することを許可されていなければなりません。
rcp では、シンボリックリンクの処理が正しく行われません。シンボリックリンクや名前付きパイプが含まれているディレクトリをリモートコピーする場合は、tar または cpio コマンドを rsh コマンドにパイプして使用してください。詳細については、tar(1) と cpio(1) を参照してください。
リモートホストを指定する際のメタキャラクタを引用符で囲まないと、解釈不可を示すエラーメッセージが出力されます。
ACL をサポートしていないファイルシステムに ACL をコピーすると、rcp は失敗します。
rcp は、ユーザー名、ホスト名、ドメインの処理を除いて CSI 対応が可能です。
どちらか一方のリモートマシンで Solaris を実行していない場合に、rcp を使用してサードパーティコピーを実行するとき、その終了コードは信頼できません。つまり、終了コードが正常終了を示していても、エラーが発生している可能性があります。あるいは、終了コードが異常終了を示していても、コピーは完全に成功している可能性があります。
このテクノロジは、Oracle Solaris の将来のリリースで削除される可能性があります。