UUCP(1P)

PROLOG
This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ (consult the corresponding Linux manual page for details of Linux behavior), or the interface may not be implemented on Linux.

NAME
uucp — system-to-system copy

SYNOPSIS

uucp [-cCdfjmr] [-n user] source-file... destination-file

DESCRIPTION
The uucp utility shall copy files named by the source-file argument to the destination-file argument. The files named can be on local or remote systems.

The uucp utility cannot guarantee support for all character encodings in all circumstances. For example, transmission data may be restricted to 7 bits by the underlying network, 8-bit data and filenames need not be portable to non-internationalized systems, and so on. Under these circumstances, it is recommended that only characters defined in the ISO/IEC 646:1991 standard International Reference Version (equivalent to ASCII) 7-bit range of characters be used, and that only characters defined in the portable filename character set be used for naming files. The protocol for transfer of files is unspecified by POSIX.1-2008.

Typical implementations of this utility require a communications line configured to use the Base Definitions volume of POSIX.1-2017, Chapter 11, General Terminal Interface, but other communications means may be used. On systems where there are no available communications means (either temporarily or permanently), this utility shall write an error message describing the problem and exit with a non-zero exit status.

OPTIONS
The uucp utility shall conform to the Base Definitions volume of POSIX.1-2017, Section 12.2, Utility Syntax Guidelines.

The following options shall be supported:

-c  Do not copy local file to the spool directory for transfer to the remote machine (default).

-C  Force the copy of local files to the spool directory for transfer.

-d  Make all necessary directories for the file copy (default).

-f  Do not make intermediate directories for the file copy.

-j  Write the job identification string to standard output. This job identification can be used by uustat to obtain the status or terminate a job.

-m  Send mail to the requester when the copy is completed.

-n user
    Notify user on the remote system that a file was sent.

-r  Do not start the file transfer; just queue the job.

OPERANDS
The following operands shall be supported:

destination-file, source-file
    A pathname of a file to be copied to, or from, respectively. Either name can be a pathname on the local machine, or can have the form:

        system-name!pathname

    where system-name is taken from a list of system names that uucp knows about. The destination system-name can also be a list of names such as:

        system-name!system-name!...!system-name!pathname

    in which case, an attempt is made to send the file via the specified route to the destination. Care should be taken to ensure that intermediate nodes in the route are willing to forward information.

    The shell pattern matching notation characters '?', '*', and "[...]" appearing in pathname shall be expanded on the appropriate system.

    Pathnames can be one of:

    1.  An absolute pathname.

    2.  A pathname preceded by ~user where user is a login name on the specified system and is replaced by that user's login directory. Note that if an invalid login is specified, the default is to the public directory (called PUBDIR; the actual location of PUBDIR is implementation-defined).

    3.  A pathname preceded by ~/destination where destination is appended to PUBDIR.

        Note:
            This destination is treated as a filename unless more than one file is being transferred by this request or the destination is already a directory. To ensure that it is a directory, follow the destination with a '/'. For example, ~/dan/ as the destination makes the directory PUBDIR/dan if it does not exist and puts the requested files in that directory.

    4.  Anything else shall be prefixed by the current directory.

    If the result is an erroneous pathname for the remote system, the copy shall fail. If the destination-file is a directory, the last part of the source-file name shall be used.

    The read, write, and execute permissions given by uucp are implementation-defined.

STDIN
Not used.

INPUT FILES
The files to be copied are regular files.

ENVIRONMENT VARIABLES
The following environment variables shall affect the execution of uucp:

LANG
    Provide a default value for the internationalization variables that are unset or null. (See the Base Definitions volume of POSIX.1-2017, Section 8.2, Internationalization Variables for the precedence of internationalization variables used to determine the values of locale categories.)

LC_ALL
    If set to a non-empty string value, override the values of all the other internationalization variables.

LC_COLLATE
    Determine the locale for the behavior of ranges, equivalence classes, and multi-character collating elements within bracketed filename patterns.

LC_CTYPE
    Determine the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multi-byte characters in arguments and input files) and the behavior of character classes within bracketed filename patterns (for example, "'[[:lower:]]*'").

LC_MESSAGES
    Determine the locale that should be used to affect the format and contents of diagnostic messages written to standard error, and informative messages written to standard output.

NLSPATH
    Determine the location of message catalogs for the processing of LC_MESSAGES.

ASYNCHRONOUS EVENTS
Default.

STDOUT
Not used.

STDERR
The standard error shall be used only for diagnostic messages.

OUTPUT FILES
The output files (which may be on other systems) are copies of the input files.

If -m is used, mail files are modified.

EXTENDED DESCRIPTION
None.

EXIT STATUS
The following exit values shall be returned:

0   Successful completion.

>0  An error occurred.

CONSEQUENCES OF ERRORS
Default.

The following sections are informative.

APPLICATION USAGE
This utility is part of the UUCP Utilities option and need not be supported by all implementations.

The domain of remotely accessible files can (and for obvious security reasons usually should) be severely restricted.

Note that the '!' character in addresses has to be escaped when using csh as a command interpreter because of its history substitution syntax. For ksh and sh the escape is not necessary, but may be used.

As noted above, shell metacharacters appearing in pathnames are expanded on the appropriate system. On an internationalized system, this is done under the control of local settings of LC_COLLATE and LC_CTYPE. Thus, care should be taken when using bracketed filename patterns, as collation and typing rules may vary from one system to another. Also be aware that certain types of expression (that is, equivalence classes, character classes, and collating symbols) need not be supported on non-internationalized systems.

EXAMPLES
None.

RATIONALE
None.

FUTURE DIRECTIONS
None.

SEE ALSO
mailx, uuencode, uustat, uux

The Base Definitions volume of POSIX.1-2017, Chapter 8, Environment Variables, Chapter 11, General Terminal Interface, Section 12.2, Utility Syntax Guidelines

COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1-2017, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html .

Any typographical or formatting errors that appear in this page are most likely to have been introduced during the conversion of the source files to man page format. To report such errors, see https://www.kernel.org/doc/man-pages/reporting_bugs.html .