home   contributing   bugs   download   online pages  

NAME | DESCRIPTION | FILES | NOTES | SEE ALSO | COLOPHONThe Linux Programming Interface


DIR_COLORS(5)                     Linux User Manual                     DIR_COLORS(5)

NAME         top

       dir_colors - configuration file for dircolors(1)

DESCRIPTION         top

       The program ls(1) uses the environment variable LS_COLORS to determine the
       colors in which the filenames are to 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 (#) is treated as a comment, if the 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, preceded by one or more TERM statements which
       specify the terminal types (as given by the TERM environment variable) the
       following declarations apply to.  It is always possible to override a global
       declaration by a subsequent terminal-specific one.

       The following statements are recognized; case is insignificant:

       TERM terminal-type
              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.

       COLOR yes|all|no|none|tty
              (Slackware only; ignored by GNU dircolors(1).)  Specifies that
              colorization should always be enabled (yes or all), never enabled (no
              or none), or enabled only if the output is a terminal (tty).  The
              default is no.

       EIGHTBIT yes|no
              (Slackware only; ignored by GNU dircolors(1).)  Specifies that eight-
              bit ISO 8859 characters should be enabled by default.  For
              compatibility reasons, this can also be specified as 1 for yes or 0 for
              no.  The default is no.

       OPTIONS options
              (Slackware only; ignored by GNU dircolors(1).)  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.
              Note that dircolors does not verify the validity of these options.

       NORMAL color-sequence
              Specifies the color used for normal (nonfilename) text.

       FILE color-sequence
              Specifies the color used for a regular file.

       DIR color-sequence
              Specifies the color used for directories.

       LINK color-sequence
              Specifies the color used for a symbolic link.

       ORPHAN color-sequence
              Specifies the color used for an orphaned symbolic link (one which
              points to a nonexistent file).  If this is unspecified, ls will use the
              LINK color instead.

       MISSING color-sequence
              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.

       FIFO color-sequence
              Specifies the color used for a FIFO (named pipe).

       SOCK color-sequence
              Specifies the color used for a socket.

       DOOR color-sequence
              (Supported since fileutils 4.1) Specifies the color used for a door
              (Solaris 2.5 and later).

       BLK color-sequence
              Specifies the color used for a block device special file.

       CHR color-sequence
              Specifies the color used for a character device special file.

       EXEC color-sequence
              Specifies the color used for a file with the executable attribute set.

       LEFTCODE color-sequence
              Specifies the left code for non-ISO 6429 terminals (see below).

       RIGHTCODE color-sequence
              Specifies the right code for non-ISO 6429 terminals (see below).

       ENDCODE color-sequence
              Specifies the end code for non-ISO 6429 terminals (see below).

       *extension color-sequence
              Specifies the color used for any file that ends in extension.

        .extension color-sequence
              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

       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 enabled.

       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 (nonfilename) text
         FILE     0       Regular file
         DIR      32      Directory
         LINK     36      Symbolic link
         ORPHAN   undefined       Orphaned 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 background colors.

Other Terminal Types (Advanced Configuration)

       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 typecode 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.

Escape Sequences

       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 characters:

         \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)
         \_      Space
         \\     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.

FILES         top

       /etc/DIR_COLORS
              System-wide configuration file.

       ~/.dir_colors
              Per-user configuration file.

       This page describes the dir_colors file format as used in the fileutils-4.1
       package; other versions may differ slightly.

NOTES         top

       The default LEFTCODE and RIGHTCODE definitions, which are used by ISO 6429
       terminals are:

         LEFTCODE  \e[
         RIGHTCODE m

       The default ENDCODE is undefined.

SEE ALSO         top

       dircolors(1), ls(1), stty(1), xterm(1)

COLOPHON         top

       This page is part of release 3.32 of the Linux man-pages project.  A
       description of the project, and information about reporting bugs, can be found
       at http://www.kernel.org/doc/man-pages/.

GNU                                   2001-12-26                        DIR_COLORS(5)

HTML rendering created 2010-12-03 by Michael Kerrisk, author of The Linux Programming Interface

customisable
counter