Next: 1.4.14 man
Up: 1.4 Man Pages
Previous: 1.4.12 locate
 
Contents
- NAME
-
ls, dir, vdir - list contents of directories
- SYNOPSIS
-
ls [-abcdfgiklmnpqrstuxABCFGLNQRSUX1] [-w cols] [-T cols]
[-I pattern] [-all] [-escape] [-directory] [-inode]
[-kilobytes] [-numeric-uid-gid] [-no-group] [-hide-
control-chars] [-reverse] [-size] [-width=cols] [-tab-
size=cols] [-almost-all] [-ignore-backups] [-classify]
[-file-type] [-full-time] [-ignore=pattern] [-derefer-
ence] [-literal] [-quote-name] [-recursive] [-sort={none,time,size,extension}]
[-format={long,verbose, commas, across, vertical, single-column}]
[-time={atime,access,use,ctime,status}] [-help] [-ver-
sion] [-color[={yes,no,tty}]] [-colour[={yes,no,tty}]]
[name...]
DESCRIPTION
This documentation is no longer being maintained and may be inaccurate
or incomplete. The Texinfo documentation is now the authoritative
source.
This manual page documents the GNU version of ls. dir and vdir are
versions of ls with different default output formats. These programs
list each given file or directory name. Directory contents are sorted
alphabetically. For ls, files are by default listed in columns, sorted
vertically, 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 non-graphic characters in file names using alphabetic
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.
- -f
- Do not sort directory contents; list them in what- ever order
they are stored on the disk. The same as enabling -a and -U and disabling
-l, -s, and -t.
- -full-time
- List times in full, rather than using the standard abbreviation
heuristics.
- -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 kilobytes.
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 modification 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 times-
tamp 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.
- -p
- Append a character to each file name indicating the file type.
- -q,
- -hide-control-chars Print question marks instead of non-graphic
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
alphabetically, 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
alphabetically, 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
extension (characters after the last `.'); files with no extension
are sorted first.
- -1,
- -format=single-column List one file per line.
- -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.
- -I,
- -ignore pattern Do not list files whose names match the shell
pat- tern pattern unless they are given on the command line. As in
the shell, an initial `.' in a file- name does not match a wildcard
at the start of pat- tern.
- -color,
- -colour, -color=yes, -colour=yes Colorize the names
of files depending on the type of file. See DISPLAY COLORIZATION below.
- -color=tty,
- -colour=tty Same as -color 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 successfully.
- -version
- Print version information on standard output then exit
successfully.
- DISPLAY COLORIZATION
-
When using the -color option, this version of ls will colorize the
file names printed according to the name and type of file. By default,
this colorization is by type only, and the codes used are ISO 6429
(ANSI) compliant.
You can override the default colors by defining the environment variable
LS_COLORS (or LS_COLOURS). The format of this variable is reminiscent
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:
- no 0
- Normal (non-filename) text
- fi 0
- Regular 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
- mi (none)
- Missing file (defaults to fi)
- or (none)
- Orphaned symbolic link (defaults to ln)
- lc \e[
- Left code
- rc m
- Right code
- ec (none)
- End code (replaces lc+no+rc)
You only need to include the variables you want to change from the
default. File names can also be colorized based on filename extension.
This is specified in the LS_COLORS variable using the syntax "*ext=string".
For example, using ISO 6429 codes, to color all C-language source
files blue you would specify "*.c=34". This would
color all files ending in .c in blue (34) color.
Control characters can be written either in C-style \-escaped
notation, or in stty-like -notation. The C- style
notation adds \e for Escape, \_ for
a normal space character, and \? for Delete. In addition,
the \ escape character can be used to override the
default interpretation of \, , :
and =.
Each file will be written as <lc> <color code> <rc> <file- name> <ec>.
If the <ec> code is undefined, the sequence <lc> <no> <rc> will be
used instead. This is generally more convenient to use, but less general.
The left, right and end codes are provided so you don't have to type
common parts over and over again and to support weird terminals; you
will generally not need to change them at all unless your terminal
does not use ISO 6429 color sequences but a different system.
If your terminal does use ISO 6429 color codes, you can compose 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 devices. A few
terminal programs do not recognize the default end code properly.
If all text gets colorized after you do a directory listing, try changing
the no and fi codes from 0 to the numerical codes for your standard
fore- and back- ground 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.
If there was a single standard for the English language it would not
be necessary to support redundant spellings.
- EXAMPLES
-
Next: 1.4.14 man
Up: 1.4 Man Pages
Previous: 1.4.12 locate
 
Contents