The
followingsare something about
LS_COLORS:
Here is an easy way to set different colours for different kinds of
files when using the ls command.
Add the following lines to the bottom of
your ~/.bashrc file
-
alias ls='ls
--color'
LS_COLORS='di=1:fi=0:ln=31:pi=5:so=5:bd=5:cd=5:or=31:mi=0:ex=35:*.rpm=90'
export LS_COLORS
The first line makes ls use the --color parameter
by default, which tells ls to display files in different colours
based on the setting of theLS_COLORS variable.
The second line is the tricky one, and what I have worked out so
far has been by trial and error. The parameters (di, fi, etc.)
refer to different Linux file types. I have worked them out as
shown
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).
The *.rpm=90 parameter
at the end tells ls to display any files ending in .rpm in the
specified colour, in this case colour 90 (dark grey). This can be
applied to any types of files (eg. you could use '*.png=35' to make
jpeg files appear purple.) As many or as few parameters as you like
can go into the LS_COLORS variable,
as long as the parameters are separated by colons.
Using trial and error (and a little bash script I wrote... my first
one ever! :) I worked out all the colour codes, at least my
interpretation of them -
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
These can even be combined, so that a parameter like:
di=5;31;42
in your LS_COLORS variable
would make directories appear in flashing red text with a green
background!
Setting LS_COLORS does
more than just make your ls listings look pretty (although it
certainly does do that), it is also very helpful in identifying
files while wading through a file system.
If anyone finds out additional info
on LS_COLORS,
or spots an error, please e-mail me, I would like to know. Any
questions may also be directed to me by e-mail.