uucp - system-to-system copy
[XSI] uucp [-cCdfjmr][-n user] source-file... destination-file
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 IEEE Std 1003.1-2001.
Typical implementations of this utility require a communications line configured to use the Base Definitions volume of IEEE Std 1003.1-2001, 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.
The uucp utility shall conform to the Base Definitions volume of IEEE Std 1003.1-2001, Section 12.2, Utility Syntax Guidelines.
The following options shall be supported:
- Do not copy local file to the spool directory for transfer to the remote machine (default).
- Force the copy of local files to the spool directory for transfer.
- Make all necessary directories for the file copy (default).
- Do not make intermediate directories for the file copy.
- Write the job identification string to standard output. This job identification can be used by uustat to obtain the status or terminate a job.
- Send mail to the requester when the copy is completed.
- -n user
- Notify user on the remote system that a file was sent.
- Do not start the file transfer; just queue the job.
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:
An absolute pathname.
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).
A pathname preceded by / destination where destination is appended to PUBDIR.
- 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.
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.
The files to be copied are regular files.
The following environment variables shall affect the execution of uucp:
- Provide a default value for the internationalization variables that are unset or null. (See the Base Definitions volume of IEEE Std 1003.1-2001, Section 8.2, Internationalization Variables for the precedence of internationalization variables used to determine the values of locale categories.)
- If set to a non-empty string value, override the values of all the other internationalization variables.
- Determine the locale for the behavior of ranges, equivalence classes, and multi-character collating elements within bracketed filename patterns.
- 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:]]*'" ).
- 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.
- Determine the location of message catalogs for the processing of LC_MESSAGES .
The standard error shall be used only for diagnostic messages.
The output files (which may be on other systems) are copies of the input files.
If -m is used, mail files are modified.
The following exit values shall be returned:
- Successful completion.
- An error occurred.
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.
mailx, uuencode, uustat, uux
First released in Issue 2.
The LC_TIME and TZ entries are removed from the ENVIRONMENT VARIABLES section.
The UN margin codes and associated shading are removed from the -C, -f, -j, -n, and -r options in response to The Open Group Base Resolution bwg2001-003.