BSD 4_3_Tahoe development
[unix-history] / usr / man / cat1 / ls.0
LS(1) UNIX Programmer's Manual LS(1)
N\bNA\bAM\bME\bE
ls - list contents of directory
S\bSY\bYN\bNO\bOP\bPS\bSI\bIS\bS
l\bls\bs [ -\b-a\bac\bcd\bdf\bfg\bgi\bil\blq\bqr\brs\bst\btu\bu1\b1A\bAC\bCL\bLF\bFR\bR ] name ...
D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
For each directory argument, _\bl_\bs lists the contents of the
directory; for each file argument, _\bl_\bs repeats its name and
any other information requested. By default, the output is
sorted alphabetically. When no argument is given, the
current directory is listed. When several arguments are
given, the arguments are first sorted appropriately, but
file arguments are processed before directories and their
contents.
There are a large number of options:
-\b-l\bl List in long format, giving mode, number of links,
owner, size in bytes, and time of last modification for
each file. (See below.) If the file is a special file
the size field will instead contain the major and minor
device numbers. If the file is a symbolic link the
pathname of the linked-to file is printed preceded by
``->''.
-\b-g\bg Include the group ownership of the file in a long out-
put.
-\b-t\bt Sort by time modified (latest first) instead of by
name.
-\b-a\ba List all entries; in the absence of this option,
entries whose names begin with a period (.\b.) are _\bn_\bo_\bt
listed.
-\b-s\bs Give size in kilobytes of each file.
-\b-d\bd If argument is a directory, list only its name; often
used with -\b-l\bl to get the status of a directory.
-\b-L\bL If argument is a symbolic link, list the file or direc-
tory the link references rather than the link itself.
-\b-r\br Reverse the order of sort to get reverse alphabetic or
oldest first as appropriate.
-\b-u\bu Use time of last access instead of last modification
for sorting (with the -\b-t\bt option) and/or printing (with
the -\b-l\bl option).
-\b-c\bc Use time when file status was last changed for sorting
Printed 7/9/88 September 30, 1987 1
LS(1) UNIX Programmer's Manual LS(1)
or printing.
-\b-i\bi For each file, print the i-number in the first column
of the report.
-\b-f\bf Force each argument to be interpreted as a directory
and list the name found in each slot. This option
turns off -\b-l\bl,\b, -\b-t\bt,\b, -\b-s\bs,\b, and -\b-r\br,\b, and turns on -\b-a\ba;\b; the
order is the order in which entries appear in the
directory.
-\b-F\bF cause directories to be marked with a trailing `/',
sockets with a trailing `=', symbolic links with a
trailing `@', and executable files with a trailing `*'.
-\b-R\bR recursively list subdirectories encountered.
-\b-1\b1 force one entry per line output format; this is the
default when output is not to a terminal.
-\b-C\bC force multi-column output; this is the default when
output is to a terminal.
-\b-q\bq force printing of non-graphic characters in file names
as the character `?'; this is the default when output
is to a terminal.
The mode printed under the -\b-l\bl option contains 11 characters
which are interpreted as follows: the first character is
d\bd if the entry is a directory;
b\bb if the entry is a block-type special file;
c\bc if the entry is a character-type special file;
l\bl if the entry is a symbolic link;
s\bs if the entry is a socket, or
-\b- if the entry is a plain file.
The next 9 characters are interpreted as three sets of three
bits each. The first set refers to owner permissions; the
next refers to permissions to others in the same user-group;
and the last to all others. Within each set the three char-
acters indicate permission respectively to read, to write,
or to execute the file as a program. For a directory, `exe-
cute' permission is interpreted to mean permission to search
the directory. The permissions are indicated as follows:
r\br if the file is readable;
w\bw if the file is writable;
x\bx if the file is executable;
-\b- if the indicated permission is not granted.
Printed 7/9/88 September 30, 1987 2
LS(1) UNIX Programmer's Manual LS(1)
The group-execute permission character is given as s\bs if the
file has the set-group-id bit set; likewise the user-execute
permission character is given as s\bs if the file has the set-
user-id bit set. These are given as S\bS (capitalized) if the
corresponding execute permission is NOT set.
The last character of the mode (normally `x' or `-') is t\bt if
the 1000 bit of the mode is on. See _\bc_\bh_\bm_\bo_\bd(1) for the mean-
ing of this mode. This is given as T\bT (capitalized) if the
corresponding execute permission is NOT set.
When the sizes of the files in a directory are listed, a
total count of blocks, including indirect blocks is printed.
F\bFI\bIL\bLE\bES\bS
/etc/passwd to get user id's for `ls -l'.
/etc/group to get group id's for `ls -g'.
B\bBU\bUG\bGS\bS
Newline and tab are considered printing characters in file
names.
The output device is assumed to be 80 columns wide.
The option setting based on whether the output is a teletype
is undesirable as ``ls -s'' is much different than
``ls -s | lpr''. On the other hand, not doing this setting
would make old shell scripts which used _\bl_\bs almost certain
losers.
Printed 7/9/88 September 30, 1987 3