# uucp

## 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.
    


* * *