Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ lc(1) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chmod(1)

find(1)

getacl(1)

setacl(1)






       ls(1)                                                          ls(1)


       NAME
             ls, lc - list contents of directory

       SYNOPSIS
             ls [-abCcdeFfgiLlmnopqRrstux1] [file . . . ]
             lc [-abCcdeFfgiLlmnopqRrstux1] [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.  The output is sorted
             alphabetically by default.  When arguments are not 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.  ls
             processes supplementary code set characters according to the
             locale specified in the LC_CTYPE and LC_COLLATE environment
             variables [see LANG on environ(5)].  except as noted under the
             -b and -q options below.

             If the Application Compatibility Package is installed, the
             XENIX command lc functions the same as ls except that the lc
             default output format is columnar, even if the output is
             redirected.

             There are three major listing formats.  The default format for
             output directed to a terminal is multi-column with entries
             sorted down the columns.  The options -C and -x enable multi-
             column formats; and the -m option enables stream output
             format, in which files are listed across the page, separated
             by commas.

             To determine output formats for the -C, -x, and -m options, ls
             uses an environment variable, COLUMNS, to determine the number
             of positions available on one output line.  If this variable
             is not set, the terminfo 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:

             -a    List all entries, including those that begin with a
                   period (.), which are normally not listed.





                           Copyright 1994 Novell, Inc.               Page 1













      ls(1)                                                          ls(1)


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

            -C    Multi-column output with entries sorted down the
                  columns.  This is the default output format.

            -c    Use time of last modification of the i-node (file
                  created, mode changed, and so on) for sorting (-t) or
                  printing (-l).

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

            -e extent_opt
                  Specify how to handle a vxfs file that has extent
                  attribute information.  Extent attributes include
                  reserved space, a fixed extent size, and extent
                  alignment.  It may not be possible to preserve the
                  information if the destination file system does not
                  support extent attributes, has a different block size
                  than the source file system, or lacks free extents
                  appropriate to satisfy the extent attribute
                  requirements.  Valid values for extent_opt are:

                  warn      Issue a warning message if extent attribute
                            information cannot be kept (default).

                  force     Fail the copy if extent attribute information
                            cannot be kept.

                  ignore    Ignore extent attribute information entirely.

                  When used with -l, -e displays extent attribute
                  information for files with reserved space or fixed
                  extent sizes.

            -F    Put a slash (/) after each filename if the file is a
                  directory, an asterisk (*) if the file is executable, a
                  vertical bar (|) if it is a FIFO, and an at sign (@) if
                  the file is a symbolic link.

            -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


                          Copyright 1994 Novell, Inc.               Page 2













       ls(1)                                                          ls(1)


                   order in which entries appear in the directory.

             -g    The same as -l, except that the owner is not printed.

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

             -L    When listing status, if an argument is a symbolic link,
                   list the status of the file or directory referenced by
                   the link rather than that of the link itself.

             -l    List in long format, giving mode, number of links,
                   owner, group, size in bytes, and date and time of last
                   modification for each file.  The date is given in the
                   locale specified by the LC_TIME environmental variable.
                   If the file is a special file, the size field contains
                   the major and minor device numbers rather than a size.
                   If the file is a symbolic link, the filename is printed
                   followed by ``->'' and the pathname of the referenced
                   file.

             -m    Stream output format; files are listed across the page,
                   separated by commas.

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

             -p    Put a slash (/) after each filename if the file is a
                   directory.

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

             -R    Recursively list subdirectories encountered.

             -r    Reverse the order of sort to get the reverse of the
                   locale's collation sequence or oldest first as
                   appropriate.

             -s    Give size in blocks, including indirect blocks, for each
                   entry.



                           Copyright 1994 Novell, Inc.               Page 3













      ls(1)                                                          ls(1)


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

            -x    Multi-column output with entries sorted across rather
                  than down the page.

            -1    Print one entry per line of output.

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

                  d   if the entry is a directory;
                  l   if the entry is a symbolic link;
                  b   if the entry is a block special file;
                  c   if the entry is a character special file;
                  m   the entry is XENIX shared data (memory) file;
                  p   if the entry is a fifo (named pipe) special file;
                  s   the entry is a XENIX semaphore;
                  -   if the entry is a regular 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, write, and 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.

            The last character indicates whether an Access Control List
            (ACL) exists for the file.  If an ACL exists, the last
            character is a plus sign (+); if an ACL does not exist, there
            is no character printed.  ACLs are supported only if the file
            system is of type sfs or vxfs.

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

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




                          Copyright 1994 Novell, Inc.               Page 4













       ls(1)                                                          ls(1)


             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
             contains 10,876 bytes.  The owner of the file, or the user,
             belongs to the group dev (perhaps indicating ``development''),
             and their login name is smith.  The number, in this case 1,
             indicates the number of links to file part2 [see cp(1)].
             Finally, the dash and letters tell you that user, group, and
             others have permissions to read, write, and execute part2.
             Note also that an ACL does not exist for 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 occurs 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
                       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 you login as.

             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.


                           Copyright 1994 Novell, Inc.               Page 5













      ls(1)                                                          ls(1)


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

            The -e option (used with -l) displays extent attribute
            information as follows:

            -rwxrwxrwx 1 smith dev  10876  May 16 9:42 part2 :res 36 ext 3 align noextend

            This output line indicates a file with 36 blocks of
            reservation, a fixed extent size of 3 blocks, all extents
            aligned to 3 block boundaries, and the file unable to be grown
            once the current reservation is exhausted.

            The format of the date given in the long listing is dependent
            on the environment variable LC_TIME (the examples are in the C
            locale). [see LANG on environ(5)].

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

            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.

            The files of examples shown so far do not have an ACL
            associated with them.  If an ACL exists for a file, the
            permissions (also referred to as the base permission mode)
            represent the maximum permissions to the file, that is, ACL
            entries may further restrict access to the file.  An example
            of a file's permissions with ACL is:


                          Copyright 1994 Novell, Inc.               Page 6













       ls(1)                                                          ls(1)


                   -rwxr-xr--+

             This describes a file that is readable, writable, and
             executable by the user, at most readable and executable by the
             file group class entries, and readable only by all others.
             The individual ACL entries may further restrict access for
             individual users and/or groups.  The complete ACL,
             representing the actual permissions to the file, can be
             displayed using the getacl command.

             An example of a command line:
                   ls -a

             This command prints 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 provides information on all files, including
             those that begin with a dot (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/share/lib/terminfo/?/*
                                   terminal information database

            /usr/lib/locale/locale/LC_MESSAGES/uxcore.abi
                                   language-specific message file [see LANG
                                   on environ(5)].





                           Copyright 1994 Novell, Inc.               Page 7













      ls(1)                                                          ls(1)


      REFERENCES
            chmod(1), find(1), getacl(1), setacl(1)

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

            The total block count will be incorrect if there are hard
            links among the files.

            The -R option has been multithreaded and is implemented via
            nftw (walk a file tree).




































                          Copyright 1994 Novell, Inc.               Page 8








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