uuls - list spooled uucp transactions grouped by transaction
uuls [-m] [directories...]
uuls [-s] [-m] [directories...]
uuls [-k] [-m] [directories...]
This command lists the contents of UUCP spool directories (default
/var/spool/uucp/*) with the files in each directory grouped into three
+ Orphans, and
Each output line starts with a transaction control filename, and
includes the name of each local (same-directory) subfile referenced by
the control file (see below). Each is possibly followed by the total
size in bytes (-s option) or Kbytes (-k option) in the transaction
(see below). The -m (meanings) option replaces the subfile names with
nodename, user, and commandline information (see below).
All subfiles not referenced by any control file.
All other files in the directory (all files not listed under one of
the above categories).
Filenames are formatted into columns, so there can be more than one
file per line. If a transaction has more subfiles than fit on one
line, it is followed by continuation lines which are indented further.
The -s (size in bytes) and -k (Kbytes) options cause the command to
follow each transaction in the Transactions section with a total size
for all stat-able, sendable files in that transaction. This includes
D.* files only, not C.* or X.* files. It does include stat-able files
outside the spool directory that are indirectly referenced by C.*
files. Sizes are either in bytes or rounded to the nearest Kbyte
(1024 bytes), respectively. A totals line is also added at the end of
the Transactions section.
The -m (meanings) option causes the command to follow C.* and X.*
files with a nodename!username commandline line, instead of
subfilenames. For C files, one line is printed per remote execution
(D*X*) subfile it references. nodename is truncated at seven
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000
characters, username at eight, and commandline at however much fits on
If -m is given, for each C file with no remote execution files, the
command instead shows the meaning of the C file itself on one or more
lines. Each line consists of a username, then R (receive) or S
(send), then the name of the file to be transferred. See below for
Filenames are listed in ascending collation order within each section
(see Environment Variables below), except that the first section is
only sorted by the control filename. Every file in the directory
except . and .. appears exactly once in the entire list, unless -m is
Transaction files are those whose names start with C. or X..
Subfilenames, which usually start with D., are gleaned from control
file lines, at most one per line, from blank-separated fields, as
C.*: R <remotefrom> <localto> <user> -<options>
C.*: S <localfrom> <remoteto> <user> -<options> <subfile> <mode>
X.*: F <subfile>
Lines that do not begin with the appropriate character (R, S, or F)
In the R (receive) case, <remotefrom> is used to print the C-file
meaning, and its transaction size is taken as zero (unknown).
In the S (send) case, if <subfile> is D.0, <localfrom> is a file not
in the spool directory, resulting from a typical uucp call without the
-C (copy) option. In this case <localfrom> is used for the
transaction size, if stat-able, and to print the C-file meaning.
uucp -C and uux both set <subfile> to a true (spooled) subfile name.
Orphan files are those whose names start with D. and which are not
referenced by any control files.
This algorithm extracts from control files the names of all subfiles
that should exist in the spool directory when the transaction is not
being actively processed. It is not unusual to see "missing subfiles"
and "orphans" if you uuls a spool directory while uucico, uucp, uux,
or uuxqt is active.
Meanings information is obtained by reading each D*X* subfile
referenced by each C.* file, and by reading X*X* files.
nodename!username is taken from the last line in the file which is of
Hewlett-Packard Company - 2 - HP-UX Release 11i: November 2000
U <username> <nodename>
Likewise, commandline is taken from the last line of the form:
If a subfile name is referenced more than once, references after the
first show the subfile as missing. If a subfile name appears in a
(corrupt) directory more than once, the name is only found once, but
then it is listed again under Orphans.
LC_COLLATE determines the order in which the output is sorted.
If LC_COLLATE is not specified in the environment or is set to the
empty string, the value of LANG is used as a default. If LANG is not
specified or is set to the empty string, a default of ``C'' (see
lang(5)) is used instead of LANG. If any internationalization
variable contains an invalid setting, uuls behaves as if all
internationalization variables are set to ``C'' (see environ(5)).
The program writes an appropriate message to standard error if it has
any problems dealing with a specified file (directory), including
failure to get heap space. It always returns zero as its exit value.
If a control file is unopenable (wrong permissions or it disappeared
while uuls was running), its name is preceded by a * and the size of
the transaction is zero. If a subfile is missing (filename not found
in the directory being listed) or not stat-able (if required for -s or
-k), its name is preceded by a * and it contributes zero bytes to the
size of the transaction.
If -m is specified and a D*X* file is missing or unreadable, its name
is given with a * prefixed, as usual.
This command uses chdir(2) to change to each directory in turn. If
more than one is specified, the second through last directories must
be absolute (not relative) pathnames, or the chdir() may fail.
uuls was developed by HP.
mail(1), uucp(1), uuto(1), uux(1), uuxqt(1M), stat(2).
Hewlett-Packard Company - 3 - HP-UX Release 11i: November 2000