Since Caldera failed to include DIRCOLORS in it's fileutils*.rpm, I have figured out a way to implement colored directory listings using dircolors from other "donor" distributions. :')
This text is a very brief "HOT-TO" to get LS or DIR coloration setup on Caldera OpenLinux 2.3. I specify that version of Linux, because I know it works there! Also, since I'm a BASH freak, it's assumed you are also using BASH for your Konsole shell...
Since COL 2.3 DID NOT ship with needed "dircolors" utility, so you'll have to go grab one from another Linux distribution. The RPM you're looking for is:
I used the one from RedHat. Any of the later versions will work just fine. All you'll need from this package is the "dircolors" program. Unfortunitely, you'll have to install the whole rpm, to get just that one program.
Not a problem. :')
How to unpack the RPM:
From Konsole, go to the directory where you downloaded the
Execute: rpm -Uvh --nodeps --force fileutils-4.0-8.i386.rpm
Once the install is completed you can optionally re-install the Caldera Open Linux 2.3 version of that rpm or just run with the RedHat pieces. It's up to you.
How to set it all up:
From the same Konsole, execute: /usr/bin/dircolors -p
If dircolors is installed correctly, dircolors will print to console the internal defaults. Now what you need to do is to get these defaults into a file.
So execute: /usr/bin/dircolors > ~/.dircolors
This will pipe the information to a text file located in the /root directory. Now using your favorite command line text editor, edit that file to reflect your desired color settings. Don't worry about SCREWING that file up, as you can generate a new copy anytime you need one by using the above command. All the information you need to set the colors will be found in that file. So take a few moments and try to understand what it is you are doing... :')
Now, to implement your color scheme in the current
Execute: eval `dircolors -b ~/.dircolors`
NOTE: The character before the dircolors program name is the one BELOW the "~" tilde character on the keyboard. What the name for this character is, I dunno, but it HAS to be that one. Also, note the "-b" switch. It specifies that you are using the BASH shell. :')
<Editor: The writer of the StepByStep is referring to the '`' backquote charcater.>If the command executes correctly, you won't see anything printed to the screen. The only thing that will happen is a new prompt will appear below the executed line. It will appear that nothing was done and that's EXACTLY what you want. :')
Now for colors... execute either dir --color or ls --color and you will see COLOR! Not just COLOR, but custom colors! It won't look pretty until you pick out the colors you like and possibly change the options for Konsole. In Konsole, under "schemes" I picked black back ground with white text and it looks pretty good. In a REAL console, it looks even better. Now at a glance, I can separate the executables from directories... :')
- To change colors edit ~/.dircolors.
- To implement colors in the current Konsole execute: eval `dircolors -b ~/.dircolors`
- To use the colors add the "--color" switch to the invocation of LS or DIR.
How to make it permanent?
To add coloration to your shell, each and everytime you start a shell, you'll have to add a few lines of text to your shell startup script. Since I use BASH, I edited /etc/config.d/shells/bashrc and added the following three lines to the end of the script:
eval `/usr/bin/dircolors -b
alias dir='dir --color'
alias ls='ls --color'
Now I have colored directory listings, everytime I'm in a Konsole... Whay cool! Even better, if I choose to not run KDE, I have terrific looking consoles!
Here's a sample dircolors file:
# Configuration file for dircolors, a utility to help
you set the
# LS_COLORS environment variable used by GNU ls with the --color option.
# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by
# slackware version of dircolors) are recognized but ignored.
# Below, there should be one TERM entry for each
termtype that is colorizable
# Below are the color init strings for the basic file
types. A color init
# string consists of one or more of the following numeric codes:
# 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
NORMAL 00 # global default, although everything should be something.
FILE 00 # normal file
DIR 01;34 # directory
LINK 01;36 # symbolic link
FIFO 40;33 # pipe
SOCK 01;35 # socket
BLK 40;33;01 # block device driver
CHR 40;33;01 # character device driver
ORPHAN 40;31;01 # symlink to nonexistent file
# This is for files with execute permission:
# List any file extensions like '.gz' or '.tar' that you
would like ls
# to colorize below. Put the extension, a space, and the color init string.
# (and any comments you want to add after a '#')
# If you use DOS-style suffixes, you may want to
uncomment the following:
#.cmd 01;32 # executables (bright green)
.tar 01;31 # archives or compressed (bright
..png 01;35 # image formats