rcp - Copies files between a local and a remote host or between two remote
rcp [-pr] source destination
The remote copy command (rcp) is used to copy one or more files between the
local host and a remote host, between two remote hosts, or between files at
the same remote host.
-p Preserves the modification times and modes of the source files in the
copies sent to the destination; extended file attributes (property
list), including the access control list (ACL), if any, are not copied.
Without this option, the umask command at the destination modifies the
mode of the destination file, and the modification time of the destina-
tion file is set to the time the file is received.
-r Copies recursively, for directories only, each file and subdirectory in
the source directory into the destination directory.
By default, the mode and owner of an existing destination file are
preserved. Normally, if a destination file does not exist, the mode of the
destination file is equal to the mode of the source file as modified by the
umask command at the destination host. If the -p option is set, the modif-
ication time and mode of source files are preserved at the destination
host. If the file has extended file attributes (property list), including
the access control list (ACL), they are not copied and rcp returns the rcp:
filename: proplist not copied message.
If a remote hostname is not specified for either the source or the destina-
tion, rcp is equivalent to the cp command.
When copying files to or from a remote host, any remote filename or direc-
tory name must be prefixed by the name of the remote host and a : (colon).
Local filenames and directory names do not need to have a host specified.
However, since rcp assumes that a colon terminates a hostname, local
filenames or directory names must have a \ (backslash) inserted before any
colons embedded in the name.
If you want to specify an IPv6 address for source or destination, you must
prefix the address with the \[ (backslash, left bracket) characters and
terminate the address with the \] (backslash, right bracket) characters.
Because the bracket characters are shell metacharacters, you must precede
them with the backslash character.
The username entered for the remote host determines the file access
privileges rcp uses at that host. Additionally, the username given to a
destination host determines the ownership and access modes of the resulting
destination file or files. If a hostname is not prefixed by user@, the
local username is used at the remote host. If a username is entered, that
name is used. In either case, the remote host allows access if one of the
following conditions is satisfied:
+ The local host is included in the remote host's /etc/hosts.equiv file
and the remote user is not the superuser.
+ The local host and username is included in a $HOME/.rhosts file in the
home directory of the remote user account. For security reasons, any
$HOME/.rhosts file must be owned by either the remote user or the root
user and should have permissions set to 600 (read and write by owner
In addition to the preceding conditions, rcp also allows access to the
remote host if the remote user account does not have a password defined.
However, for security reasons, use of a password on all user accounts is
If the path for a file or directory on a remote host is not specified or is
not fully qualified, the path is interpreted as beginning at the home
directory for the remote user account. Additionally, any metacharacters
that must be interpreted at a remote host must be quoted using \
(backslash), " " (double quotes), or ' ' (single quotes).
The rcp command is confused by output generated by commands in a .cshrc
file on the remote host. In particular, the messages, where are you? and
stty: Can't assign requested address can result if output is generated by
the startup file.
1. To copy a file named localfile from the local host to a remote host
named host2, enter:
rcp localfile host2:/u/eng/fred
2. To copy a remote file named newplan from one remote host, host1, to
another remote host, host2, enter:
rcp host1:/u/eng/fred/newplan host2:/u/eng/mary
3. To send a directory subtree report from the local host to the home
directory of a user named fred at a remote host named host2, and
preserve all modes and modification times, enter:
rcp -p -r report fred@host2:report
The remote file /u/fred/.rhosts includes an entry specifying the local
host and username.
Specifies remote hosts from which users can execute commands on the
local host (provided these users have an account on the local host).
Specifies remote users who can use a local user account.
Commands: rsh(1), rlogin(1), rshd(8)