uucp man page

uucp — Unix to Unix copy


uucp [ options ] source-file destination-file

uucp [ options ] source-file... destination-directory


The uucp command copies files between systems.  Each file argument is either a pathname on the local machine or is of the form


which is interpreted as being on a remote system. In the first form, the contents of the first file are copied to the second.  In the second form, each source file is copied into the destination directory.

A file be transferred to or from system2 via system1 by using


Any pathname that does not begin with / or ~ will be appended to the current directory (unless the -W or --noexpand option is used); this resulting path will not necessarily exist on a remote system.  A pathname beginning with a simple ~ starts at the UUCP public directory; a pathname beginning with ~name starts at the home directory of the named user.  The ~ is interpreted on the appropriate system.  Note that some shells will interpret a simple ~ to the local home directory before uucp sees it; to avoid this the ~ must be quoted.

Shell metacharacters ? * [ ] are interpreted on the appropriate system, assuming they are quoted to prevent the shell from interpreting them first.

The copy does not take place immediately, but is queued up for the uucico (8) daemon; the daemon is started immediately unless the -r or --nouucico switch is given.  In any case, the next time the remote system is called the file(s) will be copied.


The following options may be given to uucp.

-c, --nocopy

Do not copy local source files to the spool directory.  If they are removed before being processed by the uucico (8) daemon, the copy will fail.  The files must be readable by the uucico (8) daemon, and by the invoking user.

-C, --copy

Copy local source files to the spool directory.  This is the default.

-d, --directories

Create all necessary directories when doing the copy.  This is the default.

-f, --nodirectories

If any necessary directories do not exist for the destination path, abort the copy.

-R, --recursive

If any of the source file names are directories, copy their contents recursively to the destination (which must itself be a directory).

-g grade, --grade grade

Set the grade of the file transfer command.  Jobs of a higher grade are executed first.  Grades run 0 ... 9 A ... Z a ... z from high to low.

-m, --mail

Report completion or failure of the file transfer by mail (1).

-n user, --notify user

Report completion or failure of the file transfer by mail (1) to the named user on the remote system.

-r, --nouucico

Do not start uucico (8) daemon immediately; merely queue up the file transfer for later execution.

-j, --jobid

Print jobid on standard output.  The job may be later cancelled by passing the jobid to the -k switch of uustat (1). It is possible for some complex operations to produce more than one jobid, in which case each will be printed on a separate line.  For example

uucp sys1!~user1/file1 sys2!~user2/file2 ~user3

will generate two separate jobs, one for the system sys1 and one for the system sys2.

-W, --noexpand

Do not prepend remote relative path names with the current directory.

-t, --uuto

This option is used by the uuto shell script.  It causes uucp to interpret the final argument as system!user. The file(s) are sent to ~/receive/USER/LOCAL on the remote system, where USER is from the final argument and LOCAL is the local UUCP system name.  Also, uucp will act as though --notify user were specified.

-x type, --debug type

Turn on particular debugging types.  The following types are recognized: abnormal, chat, handshake, uucp-proto, proto, port, config, spooldir, execute, incoming, outgoing.  Only abnormal, config, spooldir and execute are meaningful for uucp.

Multiple types may be given, separated by commas, and the --debug option may appear multiple times.  A number may also be given, which will turn on that many types from the foregoing list; for example, --debug 2 is equivalent to --debug abnormal,chat.

-I file, --config file

Set configuration file to use.  This option may not be available, depending upon how uucp was compiled.

-v, --version

Report version information and exit.


Print a help message and exit.

See Also

mail(1), uux(1), uustat(1), uucico(8)


Some of the options are dependent on the capabilities of the uucico (8) daemon on the remote system.

The -n and -m switches do not work when transferring a file from one remote system to another.

File modes are not preserved, except for the execute bit.  The resulting file is owned by the uucp user.


Ian Lance Taylor <ian@airs.com>

Referenced By

chat(8), hier(7), ncftpspooler(1), procmail(1), procmailex(5), procmailrc(5), rmail.sendmail(8), uucico(8), uuname(1), uustat(1), uux(1), uuxqt(8).

Taylor UUCP 1.07