dir_colors - configuration file for dircolors(1)
The program ls(1) uses the environment variable LS_COLORS to determine
in what color the filenames should be displayed. This environment
variable is usually set by a command like
eval `dircolors some_path/dir_colors`
found in a system default shell initialization file, like /etc/profile
or /etc/csh.cshrc. (See also dircolors(1).) Usually, the file used
here is /etc/DIR_COLORS and can be overridden by a .dir_colors file in
one's home directory.
This configuration file consists of several statements, one per line.
Anything right of a hash mark (hash mark is at the beginning of a line
or is preceded by at least one whitespace. Blank lines are ignored.
The global section of the file consists of any statement before the
first TERM statement. Any statement in the global section of the file
is considered valid for all terminal types. Following the global section
is one or more terminal-specific sections, which are preceded by
one or more TERM statements which specify the terminal types (as given
by the TERM environment variable) the following declarations apply for.
It is always possible to override a global declaration by a subsequent
The following statements are recognized, case is insignificant:
Starts a terminal-specific section and specifies which terminal
it applies to. Multiple TERM statements can be used to create a
section which applies for several terminal types.
Specifies that colorization should be always enabled (yes or
all), never enabled (no or none) or enabled only if the output
is a terminal (tty). The default is no.
Specifies that eight-bit ISO 8859 characters should be enabled
by default. Can for compatibility reasons also be specified as
1 for yes or 0 for no. The default is no.
Adds command line options to the default ls command line. The
options can be any valid ls command line options, and should
include the leading minus sign. Please note that dircolors does
not verify the validity of these options.
Specifies the color used for normal (non-filename) text.
Specifies the color used for a regular file.
Specifies the color used for directories.
Specifies the color used for a symbolic link.
Specifies the color used for an orphanned symbolic link (one
which points to a nonexistent file). If this is unspecified, ls
will use the LINK color instead.
Specifies the color used for a missing file (a nonexistent file
which nevertheless has a symbolic link pointing to it). If this
is unspecified, ls will use the FILE color instead.
Specifies the color used for a FIFO (named pipe).
Specifies the color used for a socket.
Specifies the color used for a block device special file.
Specifies the color used for a character device special file.
Specifies the color used for a file with the executable
Specifies the left code for non-ISO 6429 terminals (see below).
Specifies the right code for non-ISO 6429 terminals (see below).
Specifies the end code for non-ISO 6429 terminals (see below).
Specifies the color used for any file that ends in extension.
Same as *.extension. Specifies the color used for any file that
ends in .extension. Note that the period is included in the
extension, which makes it impossible to specify an extension not
starting with a period, such as ~ for emacs backup files. This
form should be considered obsolete.
ISO 6429 (ANSI) COLOR SEQUENCES [Toc] [Back]
Most color-capable ASCII terminals today use ISO 6429 (ANSI) color
sequences, and many common terminals without color capability, including
xterm and the widely used and cloned DEC VT100, will recognize ISO
6429 color codes and harmlessly eliminate them from the output or emulate
them. ls uses ISO 6429 codes by default, assuming colorization is
ISO 6429 color sequences are composed of sequences of numbers separated
by semicolons. The most common codes 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.
ls uses the following defaults:
NORMAL 0 Normal (non-filename) text
FILE 0 Regular file
DIR 32 Directory
LINK 36 Symbolic link
ORPHAN undefined Orphanned symbolic link
MISSING undefined Missing file
FIFO 31 Named pipe (FIFO)
SOCK 33 Socket
BLK 44;37 Block device
CHR 44;37 Character device
EXEC 35 Executable file
A few terminal programs do not recognize the default properly. If all
text gets colorized after you do a directory listing, change the NORMAL
and FILE codes to the numerical codes for your normal foreground and
OTHER TERMINAL TYPES (ADVANCED CONFIGURATION) [Toc] [Back]
If you have a color-capable (or otherwise highlighting) terminal (or
printer!) which uses a different set of codes, you can still generate a
suitable setup. To do so you will have to use the LEFTCODE, RIGHTCODE,
and ENDCODE definitions.
When writing out a filename, ls generates the following output
sequence: LEFTCODE typecode RIGHTCODE filename ENDCODE, where the type-
code is the color sequence that depends on the type or name of file.
If the ENDCODE is undefined, the sequence LEFTCODE NORMAL RIGHTCODE
will be used instead. The purpose of the left- and rightcodes is
merely to reduce the amount of typing necessary (and to hide ugly
escape codes away from the user). If they are not appropriate for your
terminal, you can eliminate them by specifying the respective keyword
on a line by itself.
NOTE: If the ENDCODE is defined in the global section of the setup
file, it cannot be undefined in a terminal-specific section of the
file. This means any NORMAL definition will have no effect. A different
ENDCODE can however be specified, which would have the same effect.
To specify control- or blank characters in the color sequences or filename
extensions, either C-style \-escaped notation, or stty-style
^-notation can be used. The C-style notation includes the following
\a Bell (ASCII 7)
\b Backspace (ASCII 8)
\e Escape (ASCII 27)
\f Form feed (ASCII 12)
\n Newline (ASCII 10)
\r Carriage Return (ASCII 13)
\t Tab (ASCII 9)
\v Vertical Tab (ASCII 11)
\? Delete (ASCII 127)
\nnn Any character (octal notation)
\xnnn Any character (hexadecimal notation)
\\ Backslash (\)
\^ Caret (^)
\# Hash mark (#)
Please note that escapes are necessary to enter a space, backslash,
caret or any control character anywhere in the string, as well as a
hash mark as the first character.
The default LEFTCODE and RIGHTCODE definitions, which are used by ISO
6429 terminals are:
The default ENDCODE is undefined.
dircolors(1), ls(1), stty(1), xterm(1)
System-wide configuration file for dircolors.
Per-user configuration file for dircolors.
This page describes the dir_colors file format as found in the fileutils-4.0
package; other versions may differ slightly. Mail corrections
and additions to firstname.lastname@example.org. Report bugs in the program to email@example.com.
GNU fileutils 4.0 1998-11 DIR_COLORS(5)
[ Back ]