Amiga Unix — 68040 · 68060

Manual pages › BSD versions of commands (1B)

ls(1B)

list the contents of a directory

From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.

Also by this name: ls(1), General commands · ls-original(1), General commands

NAME

ls - list the contents of a directory

SYNOPSIS

/usr/ucb/ls [ -aAcCdfFgilLqrRstu1 ] filename ...

DESCRIPTION

For each filename which is a directory, ls lists the contents of the directory; for each filename which is a file, 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.

Permissions Field

The mode printed under the -l option contains 10 characters interpreted as follows. If the first character is:

     d  entry is a directory;
     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
        file;
     s  entry is an AF_UNIX address family socket, or
     -  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
follows:
     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 indica-
tions 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 blocks, including indirect blocks
is printed.  The following options are available:

-a List 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 Use time of last edit (or last mode change) for sorting or printing.

-C Force 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, list only its name (not its contents); often used with -l to get the status of a 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 Mark directories with a trailing slash (`/'), executable files with a trailing asterisk (`*'), symbolic links with a trailing at-sign (`@'), and AF_UNIX address family sockets with a trailing equals sign (`=').

-g For ls, show the group ownership of the file in a long output.

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

-l List in long format, giving mode, number of links, owner, size in bytes, and time of last modification for each file. If the file is a special 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, list the file or directory the link references rather than the link itself.

-q Display non-graphic characters in filenames as the character ?; for ls, this is the default when output is to a terminal.

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

-R Recursively list subdirectories encountered.

-s Give size of each file, including any indirect blocks used to map the file, in kilobytes.

-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) and/or printing (with the -l option).

-1 Force one entry per line output format; this is the default when output is not to a terminal.

FILES

/etc/passwd         to get user ID's for  `ls  -l'  and  `ls
                    -o'.
/etc/group          to get group ID for `ls -g'

NOTES

NEWLINE  and  TAB  are  considered  printing  characters  in
filenames.   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 columnar output options.