LS (1)


ls, lc - list contents of directory


Environment Variables
See Also


ls [-abcCdfFgHilLmnopqrRstux1hSUX] [file ...]
lc [-abcCdfFgHilLmnopqrRstux1hSUX] [file ...]


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. 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 several options:
-a List all entries; usually files that begin with a '.' are suppressed.
-b Non-printable characters are printed as octal numbers '\ddd'.
-c Use time of last modification to inode (mode, etc.) instead of last modification to file for sorting (-t) or printing (-l).
-C Output is printed in multiple columns, sorted down the columns. This format is selected by default if standard output refers to a terminal, or if the command is invoked as lc.
-d If argument is a directory, list only its name, not its contents (mostly used with -l to get status on directory).
-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.
-F Indicates the file type as a letter appended to each pathname:

*executable file
@symbolic link
|named pipe
>Solaris door
Symbolic links specified as arguments are not followed with this option in /usr/5bin/posix2001/ls unless the -H or -L option is also present.
-g Give group ID, but omit owner ID in long listing (see -l).
-i Print i-number in first column of the report for each file listed.
-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. Symbolic links specified as arguments are not followed with this option unless the -H or -L option is also present.
-L Follow symbolic links in arguments, and, with the -R option, symbolic links encountered during directory traversal.
-m Files are listed across the page, separated by commas.
-n Long format listing as described for -l, but prints numeric owner and group ID instead of names. May be combined with -g or -o to omit either ID.
-o Give owner ID, but omit group ID in long listing (see -l).
-p Print a slash '/' after each directory name.
-q Non-printable characters are printed as question marks '?'. This is the default if standard output refers to a terminal.
-r Reverse the order of sort to get reverse alphabetic or oldest first as appropriate.
-R Lists subdirectories recursively.
-s Give size in blocks, including indirect blocks, for each entry.
-t Sort by time modified (latest first) instead of by name, as is normal.
-u Use time of last access instead of last modification for sorting (-t) or printing (-l).
-x Prints filenames in multiple columns sorted across the page.
-1 Print one filename per output line. This is the default if standard output does not refer to a terminal.
The following option was introduced with POSIX.1-2001:
-H Follow symbolic links given as arguments.
The following options are available as extensions:
-h Print file sizes in human-readable powers of 1024, i.e. 'K' for kilobyte, 'M' for megabyte, 'G' for gigabyte, 'T' for terabyte, 'P' for petabyte, and 'E' for exabyte.
-S Sort by file size.
-U Do not sort at all.
-X Sort by file name extension, i.e. by the component of the file name following the last dot.

The mode printed under the -l, -g, and -o options contains 10 characters which are interpreted as follows: the first character is

dif the entry is a directory;
bif the entry is a block-type special file;
cif the entry is a character-type special file;
pif the entry is a named pipe;
lif the entry is a symbolic link;
Sif the entry is a socket;
sif the entry is a XENIX semaphore;
mif the entry is a XENIX shared data (memory) file;
Dif the entry is a Solaris door;
nif the entry is a HP-UX network special file;
-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 to permissions to others in the same user-group; and the last 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 directory, 'execute' permission is interpreted to mean permission to search the directory for a specified file. The permissions are indicated as follows:

rif the file is readable;
wif the file is writable;
xif the file is executable;
-if the indicated permission is not granted.

The group-execute permission character is given as

sif the file has set-group-ID mode; 
lif mandatory locking is enabled for the file (with /usr/5bin/ls and /usr/5bin/s42/ls);  
Lif mandatory locking is enabled for the file (with /usr/5bin/posix/ls and /usr/5bin/posix2001/ls).  

Likewise the user-execute permission character is given as

sif the file has set-user-ID mode; 
Sif the set-user-ID bit is set on the file but it is not executable.  

The last character of the mode (normally 'x' or '-') is

tif the sticky bit of the mode is on; 
Tif the sticky bit is on but the file is not executable. 

See chmod(1) for the meaning of this mode.

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

If ls writes its output to a terminal that supports colors or boldface, file names printed are colorized according to their types:

blue/boldif the file is a directory; 
yellow/boldif the file is a special file; 
yellowif the file is a named pipe; 
cyanif the file is a symbolic link; 
magenta/boldif the file is a socket or a Solaris door; 
magentaif the file is a XENIX special file or a HP-UX network special file;  
green/boldif the file is executable. 

For lc, colors are enabled even if the output is not written to a terminal. This is mainly useful if the output is filtered through a pager which handles colors, such as pg(1).


  to get user IDs.
  to get group IDs.


  Overrides the auto-detected terminal width.
  See locale(7).
  Affects the order of printed items when sorting by name.
  Determines whether a character is printable.
  Sets the format of time strings printed with the -g, -l, and -o options.
SYSV3 Changes the default output format for a terminal from -C to -1 if the command is invoked as ls.
TERM Used to determine the terminal type.


chmod(1), locale(7)

Heirloom Toolchest LS (1) 2/24/05
Generated by a modified version of manServer 1.07 from ls.1 using man macros with tbl support.