RCP(1) FreeBSD General Commands Manual RCP(1)


rcpremote file copy


rcp [ -46p] file1 file2

rcp [ -46pr] file ... directory


The rcp utility copies files between machines. Each file or directory argument is either a remote file name of the form “ruser@rhost:path”, or a local file name (containing no ‘ :’ characters, or a ‘ /’ before any ‘ :’s).

The following options are available:

Use IPv4 addresses only.
Use IPv6 addresses only.
Cause rcp to attempt to preserve (duplicate) in its copies the modification times and modes of the source files, ignoring the umask(2). By default, the mode and owner of file2 are preserved if it already existed; otherwise the mode of the source file modified by the umask(2) on the destination host is used.
If any of the source files are directories, rcp copies each subtree rooted at that name; in this case the destination must be a directory.

If path is not a full path name, it is interpreted relative to the login directory of the specified user ruser on rhost, or your current user name if no other remote user name is specified. A path on a remote host may be quoted (using ‘ \’, ‘ "’, or ‘ ´’) so that the metacharacters are interpreted remotely.

The rcp utility does not prompt for passwords; it performs remote execution via rsh(1), and requires the same authorization.

The rcp utility handles third party copies, where neither source nor target files are on the current machine.


The rcp command appeared in 4.2BSD. The version of rcp described here has been reimplemented with Kerberos in 4.3BSD-Reno.


Does not detect all cases where the target of a copy might be a file in cases where only a directory should be legal.

Is confused by any output generated by commands in a .login, .profile, or .cshrc file on the remote host.

The destination user and hostname may have to be specified as “rhost.ruser” when the destination machine is running the 4.2BSD version of rcp.

October 16, 2002 FreeBSD