Enabling Terminal’s directory and file color highlighting in Mac OS X
By default Mac OS X’s Terminal application uses the Bash shell (Bourne Again SHell) but doesn’t have directory and file color highlighting enabled to indicate resource types and permissions settings.

Enabling directory and file color highlighting requires that you open (or create) ~/.bash_profile in your favourite text editor, add these contents:
export CLICOLOR=1 export LSCOLORS=ExFxCxDxBxegedabagacad
… save the file and open a new Terminal window (shell session). Any variant of the “ls” command:
ls ls -l ls -la ls -lah
… will then display its output in color.
More details on the LSCOLORS variable can be found by looking at the man page for “ls“:
man ls
LSCOLORS needs 11 sets of letters indicating foreground and background colors:
- directory
- symbolic link
- socket
- pipe
- executable
- block special
- character special
- executable with setuid bit set
- executable with setgid bit set
- directory writable to others, with sticky bit
- directory writable to others, without sticky bit
The possible letters to use are:
a black b red c green d brown e blue f magenta c cyan h light grey A block black, usually shows up as dark grey B bold red C bold green D bold brown, usually shows up as yellow E bold blue F bold magenta G bold cyan H bold light grey; looks like bright white x default foreground or background
By referencing these values, the LSCOLORS variable setting mentioned above translates to:
Bold blue with default background for directories, bold magenta with default background for symbolic links, bold green with default background for sockets, etc.
Related posts:



13 Apr 2009 








author
Yo, thanks for this explanation. There are a few other blogs out there that try to explain the color scheme, but none of them cover what the line “ExFxCxDxBxegedabagacad” means, or how to change the colors of particular items. Thanks again, you saved a newbie some hard work.
Sure thing! Let me know if you get stuck with anything else.
Awesome post!!!
Thanks, and thank you for the link! Do you use both Mac OS X and Linux, or just one of them?
Indeed an awesome post. Works like a charm, thanks.
Thanks, quick fix. I always set up the colours in the shell but the colour values always differ from one env/shell to the next.
Thanks. Worked perfectly!
Thanks Willem! You definitely saved me some time!
It never occurred to me to check the man pages for coloring. I’m relatively new to Macs, and I noticed that the man pages on the Macs appear to be more straightforward with these particular instructions compared to a system running RHEL5…
Hey Jason
Sure! OS X is based on BSD and inherited many of its man pages from there.
yes, thanks very helpfull, but I would have an other issue related to this:
there’s a way even to chose the colors for other file extensions:
i would like to have the .pdf in a color and the .txt or .tex in one other. someone know if this is possible?
thanks a lot
laura
Is there a way I can use colors to distinguish between file extensions? For instance, I use C and Matlab extensively, and it would be nice if my .c and .m files were shown in two different colors.
Thanks!
Thanks a lot!!! Works like a charm!
Awesome! Thanks for the simple explanation.
Thanks a lot, it just works!!!
Simple and works