≡ Menu

Where is color of ls command defined?

1) Configuration file for the ls color command is /etc/DIR_COLORS for Linux. You can modify those colours if you want.

2) Here is list of most common colors: (RHEL 3.x/FCx/RH and other linux distros)
Executable files: Green
* Normal file : Normal
* Directory: Blue
* Symbolic link : Cyan
* Pipe: Yellow
* Socket: Magenta
* Block device driver: Bold yellow foreground, with black background
* Character device driver: Bold yellow foreground, with black background
* Orphaned syminks : Blinking Bold white with red background
* Missing links ( - and the files they point to) : Blinking Bold white with red background
* Archives or compressed : Red (.tar, .gz, .zip, .rpm)
* Image files : Magenta (.jpg, gif, bmp, png, tif)

3) They are stored in special shell variable called LS_COLORS

4) You can customized them in /etc/DIR_COLORS or file pointed by shell variable COLORS.

5) To customized colors you must use special string combination:
FILE-TYPE Attribute codes: Text color codes:Background color codes


  • FILE-TYPE: is file type like DIR (for directories)
  • Attribute codes:
    • 00=none
    • 01=bold
    • 04=underscore
    • 05=blink
    • 07=reverse
    • 08=concealed
  • Text color codes:
    • 30=black
    • 31=red
    • 32=green
    • 33=yellow
    • 34=blue
    • 35=magenta
    • 36=cyan
    • 37=white
  • Background color codes:
    • 40=black
    • 41=red
    • 42=green
    • 43=yellow
    • 44=blue
    • 45=magenta
    • 46=cyan
    • 47=white

For example to define Bold Blue color for DIR file type, entry should look as follows:
DIR 01;34

6) Let us modify dir color on Red Hat (Fedora) Linux:

# vi /etc/DIR_COLORS

Modify DIR entry

DIR 01;34 # default is Bold blue with black background


DIR 01;34;41 # NEW default is Bold blue with RED background

Save file.

7) Logout and login again, Please note that if you have shell variable defined COLORS then use that file (use echo $COLORS to find it out).

Tweet itFacebook itGoogle+ itPDF itFound an error/typo on this page?

{ 7 comments… add one }

  • Anonymous March 3, 2006, 7:52 pm

    It’s not necessary to log in and out. Just run ‘eval `dircolors -b /etc/DIR_COLORS`’ (note the backticks)

    flisespikker.no (norwegian+some english)

  • Anonymous October 17, 2006, 4:49 pm

    is it possible to temporarily disable colours? sometimes I just want white on black :)

  • AdamD January 26, 2007, 5:36 pm

    > ..disable colored ls

    On RH, to enable colored ls, an alias is created ‘ls -> ls –color=tty’ SO … “/bin/ls” will display without colors

  • nana April 16, 2009, 9:11 am

    i want to know how to open green color type of file?

  • marsigliese November 26, 2009, 5:21 pm

    green color usually is for executable files
    in LS_COLORS=”…..:ex=00;32:..”
    ex is not a file extension
    it is an ls attribute

    you can execute theese files typing:
    ./file if you are in the same directory

    maybe you have some file type setted to 00;32
    so if you want to know if it is executable type
    ls -l

    -rwxr–r– 1 root root 18380 9 feb 2009 file
    … | |
    owner group
    you can see 3 “rwx” positions
    the first refers to the user owner of the file
    the second to the group of the file
    the third to all the users

    you need the x (eXecutable) correspondent to your user (w writable, r readable)
    if you can you can change it with chmod
    chmod 777 file
    chmod u+x
    a) {u,g,o} user,group,others
    b) +,- 1,0
    c) {r,w,x}

    omiting a) you intend ugo+x
    omitting b) you intend u+rwx (i don’t know if does it works)

  • Dave Beaumont May 4, 2011, 7:31 pm

    Type: unalias ls
    everything will be white

  • Vivek Kumar November 11, 2013, 9:20 am

    I don’t have access to /etc folder. How can I do the same for user account by which I have logged in?

Leave a Comment