Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ls(1) — CX/UX 6.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chmod(1)

find(1)

ls(1)

NAME

ls − list contents of directory

SYNOPSIS

ls [ −RadCxmlnogrtucpFbqisfLS ] [names]

DESCRIPTION

For each directory argument, ls lists the contents of the directory; for each file argument, ls repeats its name and any other information requested.  The output is sorted alphabetically by default.  The output appearance will differ depending what universe (ucb or att) the user is in.  When no argument is given, the current directory is listed.  When several arguments are given, the arguments are first sorted appropriately, but file arguments appear before directories and their contents. 

There are three major listing formats.  The default format is to list one entry per line, the −C and −x options enable multi-column formats, and the −m option enables stream output format in which files are listed across the page, separated by commas.  In the ucb universe, if the output is a tty, the −C option is on by default.  In order to determine output formats for the −C, −x, and −m options, ls uses an environment variable, COLUMNS, to determine the number of character positions available on one output line.  If this variable is not set, the terminfo database is used to determine the number of columns, based on the environment variable TERM.  If this information cannot be obtained, 80 columns are assumed. 

There are an unbelievable number of options:

−R Recursively list subdirectories encountered. 

−a List all entries; usually entries whose names begin with a period (.) are not listed. 

−d If an argument is a directory, list only its name (not its contents); often used with −l to get the status of a directory. 

−C Multi-column output with entries sorted down the columns. 

−x Multi-column output with entries sorted across rather than down the page. 

−m Stream output format. 

−l List in long format, giving mode, number of links, owner, group, 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 rather than a size.  If the file is a symbolic link the pathname of the linked-to file is printed preceded by “->”. 

−n The same as −l, except that the owner’s UID and group’s GID numbers are printed, rather than the associated character strings. 

−o The same as −l, except that the group is not printed. 

−g The same as −l, except that the owner is not printed. 

−r Reverse the order of sort to get reverse alphabetic or oldest first as appropriate. 

−t Sort by time modified (latest first) instead of by name. 

−u Use time of last access instead of last modification for sorting (with the −t option) or printing (with the −l option). 

−c Use time of last modification of the i-node (file created, mode changed, etc.) for sorting (−t) or printing (−l). 

−p Put a slash (/) after each filename if that file is a directory. 

−F Put a slash (/) after each directory, an asterisk (∗) after each executable file, and an ampersand (@) after each symbolic link. 

−b Force printing of non-graphic characters to be in the octal \ddd notation. 

−q Force printing of non-graphic characters in file names as the character (?). 

−i For each file, print the i-number in the first column of the report. 

−s Give size in 1024-byte blocks, including indirect blocks, for each entry. 

−f Force each argument to be interpreted as a directory and list 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 directory. 

−L If the argument is a symbolic link, list the file or directory the link references rather than the link itself. 

−S If the argument is a symbolic link, list the link itself rather than the file or directory it references. 

The mode printed under the −l option consists of 10 characters that are interpreted as follows:

The first character is:

d if the entry is a directory;

b if the entry is a block special file;

c if the entry is a character special file;

p if the entry is a fifo (a.k.a. “named pipe”) special file;

l if the entry is a symbolic link;

− if the entry is an ordinary file. 

The next 9 characters are interpreted as three sets of three bits each.  The first set refers to the owner’s permissions; the next to permissions of others in the user-group of the file; and the last to all others.  Within each set, the three characters indicate permission to read, to write, and to execute the file as a program, respectively.  For a directory, “execute” permission is interpreted to mean permission to search the directory for a specified file. 
The permissions are indicated as follows:

r if the file is readable;

w if the file is writable;

x if the file is executable;

− if the indicated permission is not granted. 

The group-execute permission character is given as s if the file has set-group-ID mode; likewise, the user-execute permission character is given as s if the file has set-user-ID mode.  The group-execute permission character is given as l if file and record locking is enforced during access (the set-group-ID bit is on and the group execution bit is off).  The last character of the mode (normally x or −) is t if the 1000 (octal) 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. 

When the sizes of the files in a directory are listed, a total count of 1024-byte blocks, including indirect blocks, is printed. 

FILES

/etc/passwd to get user IDs for ls −l and ls −o. 

/etc/group to get group IDs for ls −l and ls −g. 

/usr/lib/terminfo/∗ to get terminal information. 

SEE ALSO

chmod(1), find(1). 

BUGS

Unprintable characters in file names may confuse the columnar output options. 

CX/UX User’s Reference Manual

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026