ls - list the contents of a directory
/usr/ucb/ls [-aAcCdfFgilLqrRstu1] file...
For each filename that is a directory, ls lists the contents
of the directory; for each filename that is a file, ls
repeats its name and any other information requested. By
default, the output is sorted alphabetically. When no argu-
ment 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.
The mode printed under the -l option contains 10 characters
interpreted as follows. If the first character is:
d Entry is a directory.
D Entry is a door.
b Entry is a block-type special file.
c Entry is a character-type special file.
l Entry is a symbolic link.
p Entry is a FIFO (also known as "named pipe") special
s Entry is an AF_UNIX address family socket.
- 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 refers to all others. Within each set, the
three characters indicate permission respectively to read,
to write, or to execute the file as a program. For a direc-
tory, "execute" permission is interpreted to mean permission
to search the directory. The permissions are indicated as
r The file is readable.
w The file is writable.
x The file is executable.
- The indicated permission is not granted.
The group-execute permission character is given as s if the
file has the set-group-id bit set; likewise the owner-
execute permission character is given as s if the file has
the set-user-id bit set.
The last character of the mode (normally x or `-') is true
if the 1000 bit of the mode is on. See chmod(1) for the
meaning of this mode. The indications of set-ID and 1000
bits of the mode are capitalized (S and T, respectively) if
the corresponding execute permission is not set.
A plus sign (+) appended to the list of permissions indi-
cates that an ACL is associated with the file.
When the sizes of the files in a directory are listed, a
total count of blocks, including indirect blocks, is
The following options are supported:
-a Lists all entries; in the absence of this option,
entries whose names begin with a `.' are not listed
(except for the privileged user, for whom ls normally
prints even files that begin with a `.').
-A Same as -a, except that `.' and `..' are not listed.
-c Uses time of last edit (or last mode change) for sort-
ing or printing.
-C Forces multi-column output, with entries sorted down
the columns; for ls, this is the default when output
is to a terminal.
-d If argument is a directory, lists only its name (not
its contents); often used with -l to get the status of
-f Forces each argument to be interpreted as a directory
and lists the name found in each slot. This option
turns off -l, -t, -s, and -r, and turns on -a; the
order is the order in which entries appear in the
-F Marks directories with a trailing slash (/), doors
with a trailing greater-than sign (>), executable
files with a trailing asterisk (*), FIFOs with a
trailing vertical bar (|), symbolic links with a
trailing at-sign (@), and AF_UNIX address family
sockets with a trailing equals sign (=).
-g For ls, shows the group ownership of the file in a
-i For each file, prints the i-node number in the first
column of the report.
-l Lists in long format, giving mode, ACL indication,
number of links, owner, size in bytes, and time of
last modification for each file. If the file is a spe-
cial file the size field will instead contain the
major and minor device numbers. If the time of last
modification is greater than six months ago, it is
shown in the format `month date year'; files modified
within six months show `month date time'. If the file
is a symbolic link, the pathname of the linked-to file
is printed preceded by `->'.
-L If argument is a symbolic link, lists the file or
directory the link references rather than the link
-q Displays non-graphic characters in filenames as the
character ?; for ls, this is the default when output
is to a terminal.
-r Reverses the order of sort to get reverse alphabetic
or oldest first as appropriate.
-R Recursively lists subdirectories encountered.
-s Gives size of each file, including any indirect blocks
used to map the file, in kilobytes.
-t Sorts by time modified (latest first) instead of by
-u Uses time of last access instead of last modification
for sorting (with the -t option) and/or printing (with
the -l option).
-1 Forces one entry per line output format; this is the
default when output is not to a terminal.
The following operand is supported:
file A path name of a file to be listed. If the file speci-
fied is not found, a diagnostic message will be output
on standard error.
See largefile(5) for the description of the behavior of ls
when encountering files greater than or equal to 2 Gbyte ( 2
to get group ID for `ls -g'
to get user IDs for `ls -l' and `ls -o'
See attributes(5) for descriptions of the following attri-
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Availability | SUNWscpu |
ls(1), attributes(5), largefile(5)
NEWLINE and TAB are considered printing characters in
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 ls almost certain losers.
Unprintable characters in file names may confuse the colum-
nar output options.
Man(1) output converted with