System Administration Guide, Volume 2

Examples--Copying Files Between a Local and a Remote System (rcp)

Here are a few examples. In the first two, the source is remote; in the last two, the source is local.

In this example, rcp copies the file letter.doc from the /home/jones directory of the remote system pluto to the working directory (/home/smith) on the local system, earth:


earth(/home/smith): rcp pluto:/home/jones/letter.doc .
Graphic

Since the rcp operation is performed without a remote login, the "." symbol applies to the local system, not the remote system.

The working directory happens to be the local user's home directory, so it could have been specified with the "~" symbol as well:


earth(home/smith): rcp pluto:/home/jones/letter.doc ~

In the following example, rcp is used --while logged in to the remote system-- to perform the same operation. Although the flow of the operation is the same, the paths change to take into account the remote login:


earth(/home/smith): rlogin pluto
.
.
.
pluto(/home/jones): rcp letter.doc ~
Graphic

Use of the "." symbol would be inappropriate in this instance because of the remote login; it would simply apply to the remote system, essentially directing rcp to create a duplicate file. The "~" symbol, however, refers to the current user's home directory, even when logged in to a remote system.

In the following example, rcp copies the file notice.doc from the home directory (/home/smith) of the local system earth to the /home/jones directory of the remote system, pluto:


earth(/home/smith): rcp notice.doc pluto:/home/jones
Graphic

Because no remote filename is provided, the file notice.doc is copied into the /home/jones directory with the same name.

In this example, the operation is repeated, but rcp is entered from a different working directory on the local system (/tmp). Note the use of the "~" symbol to refer to the current user's home directory:


earth(/tmp): rcp ~/notice.doc pluto:/home/jones

In this example, rcp is used --while logged in to the remote system-- to perform the same operation as in the previous example. Although the flow of the operation is the same, the paths change the take into account the remote login:


earth(/home/smith): rlogin pluto
.
.
.
pluto(/home/jones): rcp ~/notice.doc .
Graphic

In this instance, the "~" symbol can be used to denote the current user's home directory, even though it is on the local system. The "." symbol refers to the working directory on the remote system because the user is logged in to the remote system. Here is an alternative syntax that performs the same operation:


pluto(/home/jones): rcp earth:/home/smith/notice.doc /home/jones