ls(1) ls(1)NAME ls - list contents of directory SYNOPSIS ls [-R] [-a] [-d] [-C] [-x] [-m] [-l] [-L] [-n] [-o] [-g] [-r] [-t] [-u] [-c] [-p] [-F] [-b] [-q] [-i] [-s] [names] DESCRIPTION For each directory argument, ls lists the contents of the directory; for each file argument, ls repeats the filename 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 with file arguments appearing before directory arguments and their contents. There are three major listing formats. The default format is to list one entry per line, the -C and -x flag options enable multicolumn formats, and the -m flag option enables stream output format, in which files are listed across the page, separated by commas. In order to determine output formats for the -C, -x, and -m flag options, ls uses an en- vironment variable, COLUMNS, to determine the number of character positions available on one output line. If this variable is not set, the terminfo database is used to deter- mine the number of columns, based on the environment vari- able TERM. If this information cannot be obtained, 80 columns are assumed. There are many flag options, as follows. -R Recursively list subdirectories encountered. -a List all entries; usually entries whose names begin with a period (.) are not listed. -d If an argument is a directory, list its name only (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 it- self. -C Multicolumn output with entries sorted vertically. -x Multicolumn output with entries sorted horizontally, rather than down the page. -m Stream output format. April, 1990 1
ls(1) ls(1)-l List in long format, giving mode, number of links, own- er, 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 contain the major and minor device numbers, instead of a size. If the file is a symbolic link, the pathname of the linked-to file is printed preceded by ->. -n The same as -l, except that the owner's user ID and group's group ID numbers, rather than the associated character strings, are printed. -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 modified (latest first), instead of by name. -u Use time of last access, instead of last modification, for sorting (with the -t flag option) or printing (with the -l flag option). -c Use time of last modification of the i-node (file created, mode changed, and so forth) for sorting (-t) or printing (-l). -p Put a slash (/) after each filename if that file is a directory. -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 (@) after each filename if that file is a symbolic link. -b Force printing of nongraphic characters to be in the octal \ddd notation. -q Force printing of nongraphic characters in filenames as the character (?). -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. The mode printed under the -l flag option consists of 10 characters that are interpreted as follows: 2 April, 1990
ls(1) ls(1)The first character is: d if the entry is a directory b if the entry is a block special file c if the entry is a character special file l if the entry is a symbolic link p if the entry is a fifo (named pipe) special file - if 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 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. 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 set-group-ID mode; likewise, the user-execute per- mission character is given as s if the file has set-user-ID mode. The last character of the mode (normally x or -) is t if the 1000 (octal) bit of the mode is on; see chmod(1) for the meaning of this mode. The indications of set-ID and 1000 bits of the mode are capitalized (S and T, respective- ly) if the corresponding execute permission is not set. When the sizes of the files in a directory are listed, a to- tal count of blocks, including indirect blocks, is printed. EXAMPLE ls -l /etc will list all entries in /etc in long format, as, for exam- ple, -rw-r--r- 1 root bin 115 Mar 17 1986 mtab where the fields represent the file's permissions, number of links, owner, group, size in bytes, date of last modifica- tion, and name, respectively. April, 1990 3
ls(1) ls(1)FILES /bin/ls /etc/passwd to get user IDs for ls -l and ls -o /etc/group to get group IDs for ls -l and ls -g /usr/lib/terminfo/* to get terminal information. SEE ALSO chgrp(1), chown(1), chmod(1), find(1). BUGS Unprintable characters in filenames may confuse the columnar output options. 4 April, 1990