NAME
ls - list contents of directory
SYNOPSIS
ls [ -acdfgilqrstu1MR ] name ...
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. 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:
-M List in Macintosh format,
giving attributes, creator and type,
data and resource fork sizes, and time of last modification
for each file.
-l 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 "->".
-g Include the group ownership of the file in a long output.
-t Sort by time modified (latest first) instead of by name.
-a List all entries; in the
absence of this option, entries whose
names begin with a period (.) are not listed.
-s Give size in kilobytes of each file.
-d If argument is a directory,
list only its name; often used
with -l to get the status of a directory.
-L If argument is a symbolic
link, list the file or directory the
link references rather than the link itself.
-r Reverse the order of sort to
get reverse alphabetic or oldest
first as appropriate.
-u Use time of last access
instead of last modification for
sorting (with the -t option) and/or printing (with the -l
option).
-c Use time when file status was
last changed for sorting or
printing.
-i For each file, print the
i-number in the first column of the
report.
-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 Cause directories to be
marked with a trailing ‘/’, sockets
with a trailing ‘=’, symbolic links with a
trailing ‘@’, and
executable files with a trailing ‘*’.
-R Recursively list subdirectories encountered.
-1 Force one entry per line
output format; this is the default
when output is not to a terminal.
-C Force multi-column output;
this is the default when output is
to a terminal.
-q Force printing of non-graphic
characters in file names as the
character ‘?’; this is the default when output
is to a
terminal.
The attributes printed under the
-M option are the 5 characters
FDRLI which are interpreted as follows:
F if the entry is a folder
(directory);
D if the entry’s data fork is open;
R if the entry’s resource fork is open;
L if the entry is locked;
I if the entry is marked invisible.
If the condition represented by the attribute flag is not
true, a -
is shown instead.
The mode printed under the -l
option contains 11 characters which
are interpreted as follows: the first character is
d if the entry is a directory;
b if the entry is a block-type special file;
c if the entry is a character-type special file;
l if the entry is a symbolic link;
s if the entry is a socket; or
- 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 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. 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 the set-group-id bit set; likewise the user-execute
permission
character is given as s if the file has the set-user-id bit
set.
These are given as S (capitalized) if the corresponding
execute
permission is NOT set.
The last character of the mode
(normally ‘x’ or ‘-’) is t if the
1000 bit of the mode is on. See chmod(1) for the meaning of
this
mode. This is given as T (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.
FILES
/etc/passwd to get user id’s for ‘ls -l’.
/etc/group to get group id’s for ‘ls
-g’.
BUGS
Newline and tab are considered printing characters in file
names.
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.
SEE ALSO
"Inside Macintosh", Volume I, p. I-105, Apple
Computer Co.,
Addison-Wesley, for a discussion of resource and data
forks.