Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — Motorola System V 88k Release 3.2 Version 1.2C

Media Vault

Software Library

Restoration Projects

Artifacts Sought



  LS(1)                 (Essential Utilities)                 LS(1)



  NAME
       ls - list contents of directory

  SYNOPSIS
       ls [-RadLCxmlnogrtucpFbqisf] [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.  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 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(4) 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.

       The ls command has the following options:

       -R   Recursively list subdirectories encountered.

       -a   List all entries, including those that begin with a dot
            (.), which are normally 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.

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


  Page 1                                                   May 1989


















  LS(1)                 (Essential Utilities)                 LS(1)



       -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; files are listed across the page,
            separated by commas.

       -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.

       -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 stamp (latest first) instead of by name.
            The default is the last modification time.  (See -n and
            -c.)

       -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.


  Page 2                                                   May 1989


















  LS(1)                 (Essential Utilities)                 LS(1)



       -F   Put a slash (/) after each filename if that file is a
            directory, an asterisk (*) after each filename if that
            file is executable, and an at-sign (@) after each
            filename if that file is a symbolic link.

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

       -q   Force printing of non-printable characters in file
            names as the character question mark (?).

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

       -s   Give size in 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.

       The mode printed under the -l option consists of ten
       characters.  The first character may be one of the
       following:

            d   the entry is a directory;
            b   the entry is a block special file;
            c   the entry is a character special file;
            l   the entry is a symbolic link;
            p   the entry is a fifo (a.k.a. "named pipe") special
                file;
            -   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


  Page 3                                                   May 1989


















  LS(1)                 (Essential Utilities)                 LS(1)



       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.

       ls -l (the long list) prints its output as follows:

           -rwxrwxrwx  1 smith  dev    10876  May 16 9:42 part2

       This horizontal configuration provides a good deal of
       information.  Reading from right to left, you see that the
       current directory holds one file, named "part2."  Next, the
       last time that file's contents were modified was 9:42 A.M.
       on May 16.  The file is moderately sized, containing 10,876
       characters, or bytes.  The owner of the file, or the user,
       belongs to the group "dev" (perhaps indicating
       "development"), and his or her login name is "smith."  The
       number, in this case "1," indicates the number of links to
       file "part2."  Finally, the row of dash and letters tell you
       that user, group, and others have permissions to read,
       write, execute "part2."

       The execute (x) symbol here occupies the third position of
       the three-character sequence.  A - in the third position
       would have indicated a denial of execution permissions.

       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
            l   mandatory locking will occur during access (the
                set-group-ID bit is on and the group execution bit
                is off)
            s   the set-user-ID or set-group-ID bit is on, and the
                corresponding user or group execution bit is also
                on
            S   undefined bit-state (the set-user-ID bit is on and
                the user execution bit is off)
            t   the 1000 (octal) bit, or sticky bit, is on (see


  Page 4                                                   May 1989


















  LS(1)                 (Essential Utilities)                 LS(1)



                chmod(1)), and execution is on
            T   the 1000 bit is turned on, and execution is off
                (undefined bit-state)

       For user and group permissions, the third position is
       sometimes occupied by a character other than x or -.  s also
       may occupy this position, referring to the state of the
       set-ID bit, whether it be the user's or the group's.  The
       ability to assume the same ID as the user during execution
       is, for example, used during login when you begin as root
       but need to assume the identity of the user stated at
       "login."

       In the case of the sequence of group permissions, l may
       occupy the third position.  l refers to mandatory file and
       record locking.  This permission describes a file's ability
       to allow other files to lock its reading or writing
       permissions during access.


       For others permissions, the third position may be occupied
       by t or T.  These refer to the state of the sticky bit and
       execution permissions.

  EXAMPLES
       An example of a file's permissions is:

            -rwxr--r--

       This describes a file that is readable, writable, and
       executable by the user and readable by the group and others.

       Another example of a file's permissions is:

            -rwsr-xr-x

       This describes a file that is readable, writable, and
       executable by the user, readable and executable by the group
       and others, and allows its user-ID to be assumed, during
       execution, by the user presently executing it.


  Page 5                                                   May 1989


















  LS(1)                 (Essential Utilities)                 LS(1)



       Another example of a file's permissions is:

            -rw-rwl---

       This describes a file that is readable and writable only by
       the user and the group and can be locked during access.

       An example of a command line:

            ls -a

       This command will print the names of all files in the
       current directory, including those that begin with a dot
       (.), which normally do not print.

       Another example of a command line:

            ls -aisn

       This command will provide you with quite a bit of
       information including all files, including non-printing ones
       (a), the i-number-the memory address of the i-node
       associated with the file-printed in the left-hand column
       (i); the size (in blocks) of the files, printed in the
       column to the right of the i-numbers (s); finally, the
       report is displayed in the numeric version of the long list,
       printing the UID (instead of user name) and GID (instead of
       group name) numbers associated with the files.

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

  FILES
       /etc/passwd              user IDs for ls -l and ls -o
       /etc/group               group IDs for ls -l and ls -g
       /usr/lib/terminfo/?/*    terminal information database

  SEE ALSO
       chmod(1), find(1).


  Page 6                                                   May 1989


















  LS(1)                 (Essential Utilities)                 LS(1)



  NOTES
       In a Remote File Sharing environment, you may not have the
       permissions that the output of the ls -l command leads you
       to believe.  For more information, see the "Mapping Remote
       Users" section of Chapter 10 of the System Administrator's
       Guide.

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
































  Page 7                                                   May 1989
















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