LS(1L) Misc. Reference Manual Pages LS(1L) NAME ls, dir, vdir - list contents of directories SYNOPSIS ls [- abcdefgiklmnopqrstuxABCFGLNQRSUX178] [ - w cols] [ - T cols] [ - I pattern] [--directory] [--all] [--escape] [-- inode] [--kilobytes] [--no-group] [--numeric-uid-gid] [ - - hide-control-chars] [--reverse] [--size] [--width=cols] [-- tabsize=cols] [--almost-all] [--ignore-backups] [--classify] [--ignore=pattern] [--full-time] [--literal] [--dereference] [ - - quote-name] [ - - file-type] [ - - recursive] [ - - sort={none,time,size,extension}] [ - - format={long,verbose,commas,across,vertical,single-column}] [ - - time={atime,access,use,ctime,status}] [ - - color[={yes,no,tty}]] [--colour[={yes,no,tty}]] [--7bit] [-- 8bit] [--help] [--version] [path...] DESCRIPTION This manual page documents the GNU version of ls. dir and vdir are versions of ls with different default output for- mats. These programs list each given file or directory path. Directory contents are sorted alphabetically. For ls, files are by default listed in columns, sorted verti- cally, if the standard output is a terminal; otherwise they are listed one per line. For dir, files are by default listed in columns, sorted vertically. For vdir, files are by default listed in long format. OPTIONS -a, --all List all files in directories, including all files that start with `.'. -b, --escape Quote nongraphic characters in file names using alpha- betic and octal backslash sequences like those used in C. -c, --time=ctime, --time=status Sort directory contents according to the files' status change time instead of the modification time. If the long listing format is being used, print the status change time instead of the modification time. -d, --directory List directories like other files, rather than listing their contents. -e, --full-time List times in full, rather than using the standard abbreviation heuristics. -f Do not sort directory contents; list them in whatever order they are stored on the disk. The same as ena- bling -a and -U and disabling -l, -s, and -t. -g Ignored; for Unix compatibility. -i, --inode Print the index number of each file to the left of the file name. -k, --kilobytes If file sizes are being listed, print them in kilo- bytes. This overrides the environment variable POSIXLY_CORRECT. -l, --format=long, --format=verbose In addition to the name of each file, print the file type, permissions, number of hard links, owner name, group name, size in bytes, and timestamp (the modifica- tion time unless other times are selected). For files with a time that is more than 6 months old or more than 1 hour into the future, the timestamp contains the year instead of the time of day. -m, --format=commas List files horizontally, with as many as will fit on each line, separated by commas. -n, --numeric-uid-gid List the numeric UID and GID instead of the names. -o, --color, --colour, --color=yes, --colour=yes Colorize the names of files depending on the type of file. See `DISPLAY COLORIZATION' below. -p Append a character to each file name indicating the file type. -q, --hide-control-chars Print question marks instead of nongraphic characters in file names. -r, --reverse Sort directory contents in reverse order. -s, --size Print the size of each file in 1K blocks to the left of the file name. If the environment variable POSIXLY_CORRECT is set, 512-byte blocks are used instead. -t, --sort=time Sort directory contents by timestamp instead of alpha- betically, with the newest files listed first. -u, --time=atime, --time=access, --time=use Sort directory contents according to the files' last access time instead of the modification time. If the long listing format is being used, print the last access time instead of the modification time. -x, --format=across, --format=horizontal List the files in columns, sorted horizontally. -A, --almost-all List all files in directories, except for `.' and `..'. -B, --ignore-backups Do not list files that end with `~', unless they are given on the command line. -C, --format=vertical List files in columns, sorted vertically. -F, --classify Append a character to each file name indicating the file type. For regular files that are executable, append a `*'. The file type indicators are `/' for directories, `@' for symbolic links, `|' for FIFOs, `=' for sockets, and nothing for regular files. -G, --no-group Inhibit display of group information in a long format directory listing. -L, --dereference List the files linked to by symbolic links instead of listing the contents of the links. -N, --literal Do not quote file names. -Q, --quote-name Enclose file names in double quotes and quote non- graphic characters as in C. -R, --recursive List the contents of all directories recursively. -S, --sort=size Sort directory contents by file size instead of alpha- betically, with the largest files listed first. -U, --sort=none Do not sort directory contents; list them in whatever order they are stored on the disk. This option is not called -f because the Unix ls -f option also enables -a and disables -l, -s, and -t. It seems useless and ugly to group those unrelated things together in one option. Since this option doesn't do that, it has a different name. -X, --sort=extension Sort directory contents alphabetically by file exten- sion (characters after the last `.'); files with no extension are sorted first. -1, --format=single-column List one file per line. -7, --7bit Treat all character outside the ASCII (ISO 646) set (0x20-0x7E) as nonprintable control characters. -8, --8bit Treat all characters from the 8-bit ISO 8859 character sets (0x20-0x7E, 0xA1-0xFF) as printable. This includes ASCII as a subset. This is the default unless overridden at compile time. -w, --width cols Assume the screen is cols columns wide. The default is taken from the terminal driver if possible; otherwise the environment variable COLUMNS is used if it is set; otherwise the default is 80. -T, --tabsize cols Assume that each tabstop is cols columns wide. The default is 8, or whatever the TABSIZE environment vari- able says. Setting the tabsize to 0 disables the use of tab characters completely. -I, --ignore pattern Do not list files whose names match the shell pattern pattern unless they are given on the command line. As in the shell, an initial `.' in a filename does not match a wildcard at the start of pattern. --color=tty, --colour=tty Same as -o but only if standard output is a terminal. This is very useful for shell scripts and command aliases, especially if your favorite pager does not support color control codes. --color=no, --colour=no Disables colorization. This is the default. Provided to override a previous color option. --help Print a usage message on standard output and exit suc- cessfully. --version Print version information on standard output then exit successfully. DISPLAY COLORIZATION When using the -o or --color options, this version of ls will colorize the file names printed according to the type of file. You can override the default colors by defining the environ- ment variable LS_COLORS (or LS_COLOURS). The format of this variable is reminicent of the termcap(5) file format; a colon-separated list of expressions of the form "xx=string", where "xx" is a two-character variable name. The variables with their associated defaults are: lc \e[ Left code rc m Right code ec \e[0m End code fi 0 Normal file di 32 Directory ln 36 Symbolic link pi 31 Named pipe (FIFO) so 33 Socket bd 44;37 Block device cd 44;37 Character device ex 35 Executable file You only need to include the variables you want to change from the default. Control characters can be written either in C-style \- escaped notation, or in stty-like ^-notation. The C-style notation adds \e for Escape and \? for Delete. In addition, the \ escape character can be used to override the default interpretation of \, ^, and :. Each file will be written as . The left and right codes are provided so you don't have to type common parts over and over again; you will generally not need to change them at all unless your terminal does not use ISO 6429 (ANSI) color sequences but a different system. If your terminal does use ISO 6429 color codes, you can com- pose the type codes (i.e. all except the lc, rc, and ec codes) from numerical commands separated by semicolons. The most common commands are: 0 to restore default color 1 for brighter colors 4 for underlined text 5 for flashing text 30 for black foreground 31 for red foreground 32 for green foreground 33 for yellow (or brown) foreground 34 for blue foreground 35 for purple foreground 36 for cyan foreground 37 for white (or gray) foreground 40 for black background 41 for red background 42 for green background 43 for yellow (or brown) background 44 for blue background 45 for purple background 46 for cyan background 47 for white (or gray) background Not all commands will work on all systems or display dev- ices. A few terminal programs do not recognize the default end code properly. If all text gets colorized after you do a directory listing, change the ec code to "\e[XX;YYm" where XX and YY are the numerical codes for your normal foreground and background colors. BUGS On BSD systems, the -s option reports sizes that are half the correct values for files that are NFS-mounted from HP-UX systems. On HP-UX systems, it reports sizes that are twice the correct values for files that are NFS-mounted from BSD systems. This is due to a flaw in HP-UX; it also affects the HP-UX ls program. Character set selection should be more system independent. Using the colorization options disables the use of the tab character for column spacing unless the -T option is used; apparently some systems do not like tabs and color codes in conjunction. If there was a single standard for the English language it would not be necessary to support redundant spellings.