LS(1) COMMAND REFERENCE LS(1) NAME ls, lf, lg, ll, lr, lx - list contents of directory SYNOPSIS ls [ -1 ] [ -A ] [ -C ] [ -F ] [ -L ] [ -R ] [ -a ] [ -c ] [ -d ] [ -f ] [ -g ] [ -h ] [ -i ] [ -l ] [ -q ] [ -r ] [ -s ] [ -t ] [ -u ] [ -x ] filename... DESCRIPTION For each argument that names a directory or symbolic link to a directory (unless -l is specified), 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. The commands lf, lg, ll, lr, and lx are links to ls which set flags as follows: lf sets the flag -F lg sets the flags -l, -g ll sets the flag -l lr sets the flag -R lx sets the flag -x The mode printed under the -l option contains 11 characters which are interpreted as follows; the first character is: b if the entry is a block-type special file; c if the entry is a character-type special file; d if the entry is a directory; D if the entry is a symbolic link that points to a directory; l if the entry is a symbolic link, or s if the entry is a socket - if the entry is a plain file. Printed 4/6/89 1
LS(1) COMMAND REFERENCE LS(1) The next 9 characters are interpreted as three sets of three bits each. The first set refers to owner permissions; the next set refers to permissions to other people in the same user-group; and the last set refers to permissions for all other people outside your user-group. 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. 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. When the sizes of the files in a directory are listed, a total count of blocks is printed. If you find the size using the -s option, this reflects the actual amount of disk space a file consumes. In this case, a count of indirect blocks is also printed. If you find the size using the -l option, a count of indirect blocks is NOT included. The size obtained with -l is not the actual number of bytes, but an end-of-data location; unless the file was created by skipping around and writing, this is the actual number of bytes consumed. OPTIONS -a List all entries; in the absence of this option, entries whose names begin with a period or dot ( . ) are not listed. -A List all entries except '.' and '..'; this option is always set for the superuser. -c Use time of the last file status change for sorting (with the -t option) and/or printing (with the -l option). This time is the last time that the file's data or the inode was changed (meaning the last time the data was changed or the file was linked to. See the manual page Printed 4/6/89 2
LS(1) COMMAND REFERENCE LS(1) stat(2) for more information). -C Force multi-column output; this is the default when output is to a terminal. -d If argument is a directory, list only its name; 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 `/', mark symbolic links with a trailing `@', mark executable files with a trailing `*', and mark sockets with a trailing '='. All symbolic links to existing directories are marked with a trailing `@/'. All symbolic links to existing executable files are marked with a trailing `@*'. All symbolic links to nonexistent files are marked with a trailing `@?'. -g Include the group ownership of the file in a long output. -h Follow only ``hard'' directory paths during recursion (-R option). By default, symbolic links to directories are traversed (except when -l is used without -L). This option prevents these symbolic links from being traversed. -i For each file, print the i-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 file is a symbolic link the path name 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 Force printing of non-graphic characters in file names as the character `?'; 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. (Note: In Printed 4/6/89 3
LS(1) COMMAND REFERENCE LS(1) order to avoid symbolic link loops, directories are only traversed the first time they are encountered, whether as a regular directory or as a symbolic link.) -s Give size of each 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). -x List only directories. If the -L option is also given, symbolic links to directories will also be listed. -1 Force one entry per line output format; this is the default when output is not to a terminal. EXAMPLES The following example lists all files in the directory /bin. ls /bin FILES /etc/passwd gets user id's for ls -l command /etc/group gets group id's for ls -g command RETURN VALUE [NO_ERRS] Command completed without error. [NP_ERR] An error occurred that was not a system error. Execution terminated. [P_WARN] A system error occurred. Execution continues. See intro(2) for more information on system errors. CAVEATS Newline and tab are considered printing characters in file names. The output device is assumed to be 80 columns wide. The date printed in the long listing (-l option) will contain the time of day if the file is up to six months old or has a date up to 48 hours in the future. All other dates will print with the year instead of the time. The option setting based on whether the output is a teletype is undesirable because ls -s is much different than ls -s | lpr. On the other hand, not doing this setting would make Printed 4/6/89 4
LS(1) COMMAND REFERENCE LS(1) old shell scripts which used ls almost certain losers. The commands lf(1), lg(1), ll(1), lr(1), and lx(1) are not separate programs; they are links to ls. Therefore, removing these commands will not free up a lot of disk space; this also means that modifying ls requires relinking the commands. SEE ALSO cat(1), chmod(1), find(1), and rm(1). Printed 4/6/89 5
%%index%% na:192,103; sy:295,701; de:996,1904;3164,1878; op:5042,752;6058,2629;8951,839; ex:9790,181; fi:9971,195; rv:10166,459; ca:10625,670;11559,418; se:11977,200; %%index%%000000000190