Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I'm running CentOS in Linux text mode. When I run the command ls /usr/, the output is too hard to read (dark blue on black). How can I change the text coloring?

Screenshot of the ls output

share|improve this question
add comment

2 Answers 2

up vote 16 down vote accepted

If you are wanting to change your colours in the console, that is outside X, then you can specify colours in your .bashrc, like so:

if [ "$TERM" = "linux" ]; then
    echo -en "\e]P0222222" #black
    echo -en "\e]P8222222" #darkgrey
    echo -en "\e]P1803232" #darkred
    ....
    fi

Where you are defining black as #222222 See this post for the details: http://phraktured.net/linux-console-colors.html

If you are working in X, then you can customize your setup by defining your colours in your .Xresources like so:

!black
 *color0:  #3D3D3D
 *color8:  #5E5E5E
!red
 *color1:  #8C4665
 *color9:  #BF4D80
 ...

and then sourcing this file when you start X, typically from your .xinitrc:

xrdb -merge ~/.Xresources

The Arch Wiki has a page on .Xresources that explains all of the options: https://wiki.archlinux.org/index.php/Xresources

Another enhancement you can make either in X or not is to specify all of the different filetypes that you would like to colour—and their respective colours in a .dir_colors file, like so:

.xinitrc       01;31 
.Xauthority    01;31
.Xmodmap       00;31
.Xresources    01;33
 ...

To get started, copy /etc/dir_colors to your user's /home directory and make your changes. Then source this from your .bashrc with eval $(dircolors -b ~/.dir_colors) This will allow you fine-grained control over the colours of files and filetypes when you use ls.

You can find (an incredibly detailed and thorough) .dir_colors example file here: https://github.com/trapd00r/LS_COLORS/blob/master/LS_COLORS

With a combination of all three approaches, you can create a reasonably uniform setup, whether you are working in the console or in X.

share|improve this answer
    
i am sorry, i am a new learner of linux. i installed it in linux text. there is no console. all the thing are running in command line. thank you, –  runeveryday Aug 23 '11 at 3:43
2  
Yes: that is what I meant when I said outside X - in the TTY consoles (TTY 1-7). –  jasonwryan Aug 23 '11 at 3:48
    
jasonwryan,i run the command vim /etc/DIR_COLORS the DIR is 01;34 HOW TO CHANGE TO teal color. thank you, –  runeveryday Aug 23 '11 at 6:46
1  
The term colours are here: tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html Green is 00;32 and light/bold green is 1;32 The only way to get teal is to use the method I described above to define one of those 16 colours as a hex equivalent of teal. –  jasonwryan Aug 23 '11 at 6:55
    
sorry if this is a beginners question, but does your answer change for a Unix system in OS X? –  Charlie Parker Jun 16 at 1:19
show 3 more comments

The file you want is /etc/DIR_COLORS. I had the exact same issue as you and changed directories to a teal color. Works much nicer.

cp /etc/DIR_COLORS /home/yourusername/.dir_colors

Edit /home/yourusername/.dir_colors, you will see this line:

DIR 01;34    #directory

Change that to this:

DIR 01;36    #directory

Which makes directory colors teal.

share|improve this answer
    
when i run the command /etc/DIR_COLORS it output permission denied. i am the root user, why? how to change the color to teal. thank you –  runeveryday Aug 23 '11 at 3:41
2  
@run It's not a command, it's a configuration file; open it in a text editor –  Michael Mrozek Aug 23 '11 at 3:59
    
the DIR is 01;34 HOW TO CHANGE TO teal color. thank you, –  runeveryday Aug 23 '11 at 4:55
    
@MaxMackie This does not seem to work for me (copied to ~/.dir_colors) and changed everything to 00. Found that I have to open a new terminal. How is this enforced/attached to the current terminal? –  Bernhard Feb 24 at 16:02
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.