[ Previous | Next | Contents | Glossary | Home | Search ]
AIX Version 4.3 Commands Reference, Volume 3

li or di Command


Lists the contents of a directory.


li -I abcfghilmnoprsu ] ] [ -E abcfghilmnoprsu ] ] [ -O abcdfpx ] ] [ -S acmnrsux ] ] [ -R Number ] [ anqp ] ] [ -Number ] [ -a ] [ -d ] [ -e ] [ -f ] [ -l ] [ -n ] [ -s ] [ -v ] [ -x ] [ -L ] [ File ... ] [ Directory ... 

di File ... ] [ Directory ... ]


The li command lists information about each named File and the files in each named Directory. If File is an archived file and the -R flag is specified, the li command lists the files in the archive.

The li command lists regular files before directories, with file and directory names listed in collation order. Non-printable characters in file names are displayed in expanded form (for example, ^ D, \177 ). The collation order of file names and the format of dates and times are determined by the current National Language environment. See the "National Language Support Overview for System Management" in AIX Version 4.3 System Management Guide: Operating System and Devices for details.

The li and di commands use 512-byte blocks when reporting physical disk space allocated for the file. Physical disk space is assigned in increments of 4096 bytes (8X512).

The di command is equivalent to the li command with the optional -I flag and almops variables.

Permissions Field

The permissions field displayed with the -lp flag contains 11 characters. The permissions field displayed with the -e flag contains 12 characters. The first character in either case is one of the following:

b Block type special file
c Character type special file
d Directory
l Symbolic link
p Pipe first-in-first-out (FIFO)
- Ordinary file
B Remote block special file
C Remote character special file
D Remote directory
F Remote ordinary file
L Remote symbolic link
P Remote (FIFO) special file

The next nine characters are interpreted as three sets of 3 characters each. The first set refers to owner permissions, the second to permissions for others in the same group, and the third to permissions for all others. Each of the three characters within each set indicate, respectively, permission to read, write, or execute the file. For a directory, execute permission is interpreted as permission to search the directory for a specified file. These permissions are indicated as follows:

r Read
w Write (edit)
x Execute (search)
- Corresponding permission not granted

The group-execute permission is given as an s if the file has set-group-ID mode. The user-execute permission character is given as an s if the file has set-user-ID mode.

The 11th character of the field is normally empty, but is displayed as a t if the file is either a directory with link permission or a regular file with the save text attribute.

The mode displayed with the -e flag is the same as that displayed with the -l flag, except for the addition of a 12th character interpreted as follows:

+ Indicates a file with extended security information. For example, the file may have extended ACL, TCB, or TP attributes in the mode.

The aclget command displays the ACL information of a file. The chtcb command displays the value of the TCB and TP attributes.

- Indicates a file does not have extended security information.


Flags are grouped into five classes, four of which are always introduced by an uppercase letter: fields (I or E), restrictions (O), recursion (R), sort orders (S), and miscellaneous. The following flags modify the action of the li command:

-I[hiplogcsmaunrfb] or -E[hiplogcsmaunrfb]
                          Requests the inclusion (-I) or exclusion (-E) of certain fields. The fields are selected by the flags from the hiplogcsmaunrfb subset. The -I flag includes, and the -E flag excludes, the selected fields in the order in which they are displayed in the option list. For example, -l -Ep excludes the protections field, while -Ep -l includes it, since -l (the equivalent of -icglmop ) follows -Ep .

The only field included by default is the name (n) field. If you include any other fields, the li command lists the output in single-column rather than multiple-column format. The li command lists the following fields in the following order:

i I-node number
p Protections
l Link count
r Node where the entry resides
o Local owner (name or UID)
f Raw UID of the entry's owner
g Local group (name or GID)
b Raw GID of the entry's group
c Character count
s Physical disk file size (measured in 512-byte blocks)
m Modified time
a Accessed time
u Updated (i-node modified) time
n Name

If the file is a special file, the size (s) field contains the major and minor device numbers. If you select the c (character count) or s (size in blocks) flag, the li command writes a total number of blocks for each directory and a grand total when appropriate.

-O[abcdfpx] Requests that the listing be restricted to files of certain types. These types are selected from the abcdfpx subset. The possible types are:
a Archives
b Block devices
c Character devices
d Directories
f Files (normal, not special)
p Pipes (FIFOs)
x Executable files (any file with execute permission)
-R[Number]anpq Lists recursively to the specified number of levels deep. The default depth is infinite. This normally displays a single column, with a two-column indentation for each level of the directory structure. When the li command reaches a directory with no subdirectories, it lists the contents of that directory in multiple-column form. Specifying either -Ra or -Rp suppresses the indentation and multiple-column display.

These flags display either the full (-Ra) or relative (-Rp) path names of each file found. The -Rq flag also lists the contents of archive files. When using the -Rq flag to list the contents of remote archive files, the user and group fields display as a - (minus sign).

-S[acmnrsux ] Describes the order in which the listing is displayed. The default order is by name (n). Choosing a flag from the acmnsu subset selects which field the listing is sorted by:
a Accessed time, latest first
c Character count, largest first
m Modified time, latest first
n Name
r Reverses the order of the sort
s Physical disk file size (measured in 512-byte blocks)
u Updated time, latest first
x Specifies no sorting

The other flags are:

-a Lists all entries, including those beginning with . (dot).
-d Lists only the name, not the contents, of directories.
-e Displays the mode (including security information), number of links, owner, group, size (in bytes), time of last modification, and name of each file.
-f Forces the li command to interpret each File parameter specified as a directory and to list the name found in each slot. All flags requiring information not found in directory entries are turned off and the -a flag is turned on. Names are listed in the order they appear in the directory.
-l Uses a listing that is equivalent to li -Icglmop (the long form listing). That is, it lists the permission code, link count, owner, group, character count, time of last modification, and name of each file.
-L Follows a symbolic link and reports on the file at the end of the link. If the file at the end of the link does not exist, the li command reports on the symbolic link itself.
  1. A symbolically linked file is followed by an arrow and the contents of the symbolic link.
  2. The performance of the li command when used with the -l option can be improved by executing the mkpasswd command. This is helpful when a directory contains files owned by different users, such as the /tmp directory.
-n Inhibits the interpretation of control characters in file names. This flag is useful for generating lists of file names for program input or for editing into per-file commands.
-s Provides a listing similar to that of the -v flag, except that the distinguishing marks for file types do not affect sorting (a sortable verbose list). Subdirectories appear in the listing as Name/, files with execute permission as Name*, special files as Name?, and symbolic links as Name@.
-v Lists files in a way that visually differentiates file types (a verbose visual listing). With this flag, the li command lists subdirectories as [Name], files with execute permission as <Name>, special files as *name*, and symbolic links as @Name@. This differentiation occurs before the -S sort. Thus, different types of files are sorted into different parts of the listing.
-x Displays every available field except headers (an extended form listing). This is equivalent to specifying li -Iabcfglimoprsu.
-Number Lists with a specified maximum number of columns. If the value of the Number variable is unreasonable, the li command picks its own value. This flag can be used as in li -1 to make shell files or in li-Io9 to force the li command to display its output in multiple columns. A number appearing in any flag option is assumed to be the number of columns, unless it follows the -R flag.
Note: Some combinations of flags do not work well together. For example, li -vRa looks unusual, and li -RSx and li -Sx * are both nearly unintelligible if there are subdirectories contained in the current directory.


  1. To list the files in the current directory in alphabetical order, enter:
  2. To list all files in the current directory, including those with names beginning with a . (dot), enter:
    li -a
  3. To display detailed information, enter:
    li -l chap1 .profile
    This displays a long listing with detailed information about chap1 and the .profile file. It lists all information that you need to see. However, the li command can supply even more information with the -x flag.
  4. To display detailed information about a directory, enter:
    li -d -l . manual manual/chap1
    This displays a long listing for the . (dot) and manual directories, and for the manual/chap1 file. directories
  5. To list the files in order of modification time, enter:
    li -Sm -l
    This displays a long list of the most recently modified files, followed by the older files.
  6. To include extra information in the listing, enter:
    li -Ichil
    In addition to the file name, this lists the character count (-Ic), i-node number (-Ii), and link count (-Il) for each file in the current directory. The -Ih flag tells the li command to write a heading at the top of each column of information.
  7. To list the contents of each directory in a tree, enter:
    li -R manual
    This lists the names in each subdirectory of the tree that starts with manual .
  8. To sort a sample directory in descending order according to physical blocks allocated to each . file and to display the number of bytes in each file, enter:
    li -lIsSs
    This command displays the contents in the sample directory as:
    -rw-r--r--  1 jack   acct   13982  28B   Jan  26 11:23 yearly
    Frw-r--r--  1 jack   acct     395   8B   Apr  01 09:30 mayacct
    Frw-r--r--  1 jack   acct      17   8B   May  10 10:19 maycorr
    Frw-r--r--  1 jack   acct    4092   8B   June 06 12:29 mayfin
    Because the s flag sorts the files according to the number of physical blocks allocated, the files in the directory do not necessarily appear in descending order according to the number of bytes in the file. The 8B entry indicates that each of these files has been allocated the minimum amount of disk space (4096 / 512 = 8 ) and is therefore equal in the terms of the sort operation.


/usr/bin/li Contains the li command.
/etc/passwd Contains user names for li -Io.
/etc/group Contains group names for li -Ig.

Related Information

The aclget command, chmod command, chtcb command, ls command, mkpasswd command.

The chmod subroutine.

Directory Overview in AIX Version 4.3 System User's Guide: Operating System and Devices describes the structure and characteristics of directories in the file system.

Files Overview in the AIX Version 4.3 System Management Guide: Operating System and Devices describes files, file types, and how to name files.

Shells Overview in AIX Version 4.3 System User's Guide: Operating System and Devices describes what shells are, the different types of shells, and how shells affect the way commands are interpreted.

File and Directory Access Modes in the AIX Version 4.3 System User's Guide: Operating System and Devices introduces file ownership and permissions to access files and directories.

National Language Support Overview for Programming in the AIX Version 4.3 General Programming Concepts: Writing and Debugging Programs explains collating sequences, equivalence classes, and locale.

[ Previous | Next | Contents | Glossary | Home | Search ]