Remote file copy


rcp [-p] source_file target_file

rcp [-p] [-r]  source_file... target_dir

Runs on:



Attempt to preserve (duplicate) the modification time and file mode of each source file in its corresponding target file, ignoring the umask. By default, the mode and owner of the target file are preserved if the target file already exists; otherwise the mode of the source file modified by the umask on the destination host is used.
If any of the source files are directories, copy each subtree rooted at that name; in this case, the destination must be a directory.
The pathname of a file to be copied.
The pathname to which a single file is copied.
The pathname of an existing directory that's to contain the output file(s).


The rcp utility copies files between machines. Each file or directory argument is either of the following:

If the specified path isn't a full pathname, it's interpreted relative to the login directory of the specified user ruser on rhost, or of your current username if no other remote username (rname) is specified. A path on a remote host may be quoted (using \, ", or ') so that the metacharacters are interpreted remotely.

The rcp utility doesn't prompt for passwords; it performs remote execution via rsh, and requires the same authorization.

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

Note: This utility needs to have the setuid ("set user ID") bit set in its permissions. If you use mkefs, mketfs, or mkifs on a Windows host to include this utility in an image, use the perms attribute to specify its permissions explicitly, and the uid and gid attributes to set the ownership correctly.


The rcp utility requires the libsocket.so shared library.


The rcp utility doesn't always detect that the target of a copy is a file in cases where only a directory should be legal. It's also confused by any output generated by commands in a .login or .profile file on the remote host.

See also:

cp, ftp, rlogin, rsh