You can use the command ls —color (or an alias) to show directories with colours for folders, files, links, etc. However, you may not realise these colours can be easily configured using bashrc and a configuration file.
Requirements
bash
Method
Edit your .bashrc
file (in your home directory) to include the following line:
alias lc="ls --color=always"
This will enable coloured listings on all uses of ls (to save you typing --colors
. Save the file and in your terminal window enter source ~/.bashrc
to reload your bash config. Try an ls
to confirm that you have got colors working.
On some systems (including Mac) the bash configuration is stored in
~/.bash_profile
instead.
You have a lot of options for configuring the directory colours. They can be stored in
-
Shell variable
LS_COLORS
which can be set in .bashrc viaexport LS_COLORS="COLOR_CONFIG"
-
In the file
/etc/DIR_COLORS
(you will need to be root to configure and this is global for all users) -
In the file pointed by the variable
COLORS
(can be in your home directory)
Color configuration is done through a special formatted string:
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 DIR 01;34
gives you a bold blue directory.
So to change the configuration globally edit the /etc/DIR_COLORS
file as follows:
sudo nano /etc/DIR_COLORS
Look for:
DIR 01;34 # default is Bold blue with black background
And change it to:
DIR 01;34;41 # NEW default is Bold blue with RED background
Using LS_COLORS (in your own .bashrc
file) the format is slightly different:
LS_COLORS='di=1:fi=0:ln=31:pi=5:so=5:bd=5:cd=5:or=31:mi=0:ex=35:*.rpm=90'
Here the codes are as follows:
di = directory
fi = file
ln = symbolic link
pi = fifo file
so = socket file
bd = block (buffered) special file
cd = character (unbuffered) special file
or = symbolic link pointing to a non-existent file (orphan)
mi = non-existent file pointed to by a symbolic link (visible when you type ls -l)
ex = file which is executable (ie. has 'x' set in permissions).
0 = default colour
1 = bold
4 = underlined
5 = flashing text
7 = reverse field
31 = red
32 = green
33 = orange
34 = blue
35 = purple
36 = cyan
37 = grey
40 = black background
41 = red background
42 = green background
43 = orange background
44 = blue background
45 = purple background
46 = cyan background
47 = grey background
90 = dark grey
91 = light red
92 = light green
93 = yellow
94 = light blue
95 = light purple
96 = turquoise
100 = dark grey background
101 = light red background
102 = light green background
103 = yellow background
104 = light blue background
105 = light purple background
106 = turquoise background
This post first appeared on Martin Fitzpatrick – Python Coder, Postgraduate, please read the originial post: here