少なくとも、コピー元システム上で読み取り権を持ち、コピー先システム上で書き込み権を持っていなければなりません。
コピー元とコピー先の位置を決定します。
コピー元またはコピー先のパスがわからない場合は、まず rlogin コマンドを使用してリモートシステムにログインし、位置が見つかるまでリモートシステム上を移動できます。手順については、「リモートシステムにログインする方法 (rlogin)」を参照してください。その後は、ログアウトしなくても次の手順を実行できます。
ファイルまたはディレクトリをコピーします。
$ rcp [-r]source-file|directory target-file|directory |
rcp |
(オプションなし) コピー元からコピー先にファイルを 1 つコピーする。 |
-r |
コピー元からコピー先にディレクトリをコピーする。 |
この構文は、リモートシステムとローカルシステムのどちらにログインするかに関係なく適用されます。表 10-3 で説明したとおり、ファイルやディレクトリのパス名のみをこの後で示す例のように変更します。
「‾」と「.」を使用して、ローカルのファイル名やディレクトリ名のパス部分を指定できます。ただし、「‾」はリモートシステムではなく現在のユーザーに適用されることと、「.」はログイン先のシステムに適用されることに注意してください。この 2 つの記号については、表 10-3 を参照してください。
次にいくつかの例を示します。最初の 2 つの場合はコピー元がリモートで、あとの 2 つの場合はローカルです。
次の例では、rcp はファイル letter.doc をリモートシステム pluto の /home/jones ディレクトリから、ローカルシステム earth 上の作業用ディレクトリ (/home/smith) にコピーします。
earth(/home/smith): rcp pluto:/home/jones/letter.doc . |
rcp 操作はリモートログインせずに実行されるので、「.」はリモートシステムではなくローカルシステムに適用されます。
作業用ディレクトリはローカルユーザーのホームディレクトリになるので、「‾」も使用して指定できます。
earth(home/smith): rcp pluto:/home/jones/letter.doc ‾ |
次の例では、rcp を使用して同じ操作を実行しますが、リモートシステムにログインします。操作の流れは同じですが、リモートログインしているためパスを変更します。
earth(/home/smith): rlogin pluto . . . pluto(/home/jones): rcp letter.doc ‾ |
この例では、リモートログインを行うので「.」を使用できません。「.」はリモートシステムにのみ適用され、実際には rcp にファイルのコピーを作成するように指示します。ただし、「‾」は、リモートシステムにログインするときにも現在のユーザーのホームディレクトリを指します。
次の例で、rcp はファイル notice.doc をローカルシステム earth のホームディレクトリ (/home/smith) からリモートシステム pluto の /home/jones ディレクトリにコピーします。
earth(/home/smith): rcp notice.doc pluto:/home/jones |
リモートファイル名が指定されていないので、ファイル notice.doc は /home/jones ディレクトリに同じ名前でコピーされます。
次の例でも同じ操作を繰り返しますが、rcp はローカルシステム上の別の作業用ディレクトリ (/tmp) から入力されます。現在のユーザーのホームディレクトリを指すために「‾」記号が使われているので注意してください。
earth(/tmp): rcp ‾/notice.doc pluto:/home/jones |
次の例では、リモートシステムにログインしている間に rcp を使用して前記の例と同じ操作を実行します。操作の流れは同じですが、パスはリモートログインを考慮して変更されます。
earth(/home/smith): rlogin pluto . . . pluto(/home/jones): rcp ‾/notice.doc . |
この例では、現在のユーザーのホームディレクトリがローカルシステム上にあっても、「‾」を使用して指定できます。ユーザーはリモートシステムにログインしているので、「.」はリモートシステム上の作業用ディレクトリを指します。次の構文を使用しても同じ操作を実行します。
pluto(/home/jones): rcp earth:/home/smith/notice.doc /home/jones |