LS(1) MachTen Reference Manual LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [-ACFLRTacdfiloqrstu1] [file ...]
DESCRIPTION
For each operand that names a file of a type other than
directory, ls
displays its name as well as any requested, associated
information. For
each operand that names a file of type directory, ls
displays the names
of files contained within that directory, as well as any
requested, asso-
ciated information.
If no operands are given, the
contents of the current directory are dis-
played. If more than one operand is given, non-directory
operands are
displayed first; directory and non-directory operands are
sorted sepa-
rately and in lexicographical order.
The following options are available:
-A List all entries except for
‘.’ and ‘..’. Always set for the su-
per-user.
-C Force multi-column output;
this is the default when output is to
a terminal.
-F Display a slash (/)
immediately after each pathname that is a di-
rectory, an asterisk (*) after each that is executable, and
an at
sign (@) after each symbolic link.
-L If argument is a symbolic
link, list the file or directory the
link references rather than the link itself.
-M List in Macintosh format,
giving attributes, creator and type,
data and resource fork sizes, and time of last
modification.
-R Recursively list subdirectories encountered.
-T Display complete time
information for the file, including month,
day, hour, minute, second, and year.
-a Include directory entries whose names begin with a dot (.).
-c Use time when file status was
last changed for sorting or print-
ing.
-d Directories are listed as
plain files (not searched recursively)
and symbolic links in the argument list are not indirected
through.
-f Output is not sorted.
-i For each file, print the
file’s file serial number (inode num-
ber).
-l (The lowercase letter
‘‘ell.’’) List in long format. (See
be-
low.) If the output is to a terminal, a total sum for all
the
file sizes is output on a line before the long listing.
-o Include the file flags in a long (-l) output
-q Force printing of non-graphic characters in file names as the
character ‘?’; this is the default when output is to a terminal.
-r Reverse the order of the sort
to get reverse lexicographical or-
der or the oldest entries first.
-s Display the number of file
system blocks actually used by each
file, in units of 512 bytes, where partial units are rounded
up
to the next integer value. If the output is to a terminal, a
to-
tal sum for all the file sizes is output on a line before
the
listing.
-t Sort by time modified (most
recently modified first) before sort-
ing the operands by lexicographical order.
-u Use time of last access,
instead of last modification of the file
for sorting (-t) or printing (-l).
-1 (The numeric digit
‘‘one.’’) Force output to be one
entry per
line. This is the default when output is not to a
terminal.
The -1, -C, and -l options all
override each other; the last one speci-
fied determines the format used.
The -c, and -u options override
each other; the last one specified deter-
mines the file time used.
By default, ls lists one entry
per line to standard output; the excep-
tions are to terminals or when the -C option is
specified.
File information is displayed
with one or more <blank>s separating the
information associated with the -i, -s, and -l options.
The Long Format
If the -l option is given, the following information is
displayed for
each file: file mode, number of links, owner name, group
name, number of
bytes in the file, abbreviated month, day-of-month file was
last modi-
fied, hour file last modified, minute file last modified,
and the path-
name. In addition, for each directory whose contents are
displayed, the
total number of 512-byte blocks used by the files in the
directory is
displayed on a line by itself immediately before the
information for the
files in the directory.
If the owner or group names are
not a known user or group name the numer-
ic ID’s are displayed.
If the file is a character
special or block special file, the major and
minor device numbers for the file are displayed in the size
field. If the
file is a symbolic link the pathname of the linked-to file
is preceded by
‘‘->’’.
The file mode printed under the
-l option consists of the entry type,
owner permissions, and group permissions. The entry type
character de-
scribes the type of file, as follows:
b Block special file.
c Character special file.
d Directory.
l Symbolic link.
s Socket link.
- Regular file.
The next three fields are three
characters each: owner permissions, group
permissions, and other permissions. Each field has three
character posi-
tions:
1. If r, the file is readable; if -, it is not readable.
2. If w, the file is writable; if -, it is not writable.
3. The first of the following that applies:
S If in the owner permissions,
the file is not exe-
cutable and set-user-ID mode is set. If in the
group permissions, the file is not executable and
set-group-ID mode is set.
s If in the owner permissions,
the file is exe-
cutable and set-user-ID mode is set. If in the
group permissions, the file is executable and set-
group-ID mode is set.
x The file is executable or the
directory is search-
able.
- The file is neither readable,
writeable, exe-
cutable, nor set-user-ID nor set-group-ID mode,
nor sticky. (See below.)
These next two apply only to the
third character in the last
group (other permissions).
T The sticky bit is set (mode
1000), but not execute
or search permission. (See chmod(1) or sticky(8).)
t The sticky bit is set (mode
1000), and is search-
able or executable. (See chmod(1) or sticky(8).)
The ls utility exits 0 on success, and >0 if an error occurs.
ENVIRONMENTAL VARIABLES
The following environment variables affect the execution of
ls:
BLOCKSIZE If the environmental
variable BLOCKSIZE is set, the block
counts (see -s) will be displayed in units of that size
block.
COLUMNS If this variable
contains a string representing a decimal in-
teger, it is used as the column position width for
displaying
multiple-text-column output. The ls utility calculates how
many pathname text columns to display based on the width
pro-
vided. (See -C.)
TZ The timezone to use when
displaying dates. See environ(7) for
more information.
COMPATIBILITY
The group field is now automatically included in the long
listing for
files in order to be compatible with the IEEE Std1003.2
(‘‘POSIX’’) spec-
ification.
SEE ALSO
chmod(1), symlink(7), sticky(8)
HISTORY
An ls command appeared in Version 6 AT&T UNIX.
STANDARDS
The ls function is expected to be a superset of the IEEE
Std1003.2
(‘‘POSIX’’) specification.