Solaris下安装的带颜色分辨的 LS




1. 彩色输出是GUN版本ls命令的一个特征,所以你必须先得到这个版本,你可以在这里下载

2. 使用下面的命令安装该包:

root@host /var/tmp> pkgadd -d coreutils-4.5.4-sol9-sparc-local


1 SMCcoreu coreutils (sparc) 4.5.4

Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]: 回车即可
--output ommitted--

3. 这个过程将安装和GUN ls以及其它有用的程序到 /usr/local/bin. 检查这个目录.

4. 这些命令的文档信息可以在 /usr/local/doc 和 /usr/local/man目录中找到,阅读这些文档来了解新的命令,例如,彩色显示:

user@host ~> man -M /usr/local/man dircolors

稍后, 确认 MANPATH variable 包含 /usr/local/man.

5. 可以给整个系统添加彩色显示设置, 如果那样的话,你需要在 /etc目录下建立一个DIR_COLORS文件。 大约是这样的:

user@host ~> cat /etc/DIR_COLORS

# Configuration file for the color ls utility
# This file goes in the /etc directory, and must be world readable.
# You can copy this file to .dir_colors in your $HOME directory to override
# the system defaults.

# COLOR needs one of these arguments: 'tty' colorizes output to ttys, but not
# pipes. 'all' adds color characters to all output. 'none' shuts colorization
# off.

# Extra command line options for ls go here.
# Basically these ones are:
# -F = show '/' for dirs, '*' for executables, etc.
# -T 0 = don't trust tab spacing when formatting ls output.

# Below, there should be one TERM entry for each termtype that is colorizable
TERM linux
TERM console
TERM con132x25
TERM con132x30
TERM con132x43
TERM con132x60
TERM con80x25
TERM con80x28
TERM con80x30
TERM con80x43
TERM con80x50
TERM con80x60
TERM cons25
TERM xterm
TERM rxvt
TERM xterm-color
TERM color-xterm
TERM vt100
TERM dtterm
TERM color_xterm

# EIGHTBIT, followed by '1' for on, '0' for off. (8-bit output)

# 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 01;05;37;41 # orphaned syminks
MISSING 01;05;37;41 # ... and the files they point to

# This is for files with execute permission:
EXEC 01;32

# 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 '#')
.cmd 01;32 # executables (bright green)
.exe 01;32
.com 01;32
.btm 01;32
.bat 01;32
.sh 01;32
.csh 01;32
.tar 01;31 # archives or compressed (bright red)
.tgz 01;31
.arj 01;31
.taz 01;31
.lzh 01;31
.zip 01;31
.z 01;31
.Z 01;31
.gz 01;31
.bz2 01;31
.bz 01;31
.tz 01;31
.rpm 01;31
.cpio 01;31
.jpg 01;35 # image formats
.gif 01;35
.bmp 01;35
.xbm 01;35
.xpm 01;35
.png 01;35
.tif 01;35

6. 测试新的设置是否可用, 在几个文件夹下使用 /usr/local/bin/ls --color 命令.

如果你可以看到不同的颜色 , 进行下一步.

7. 现在我们不想每次都输入 /usr/local/bin/ls --color . 你可以改变PATH 变量来解决这问题 :

user@host ~> export PATH=/usr/local/bin:$PATH

这样, 当你输入ls, 将首先从 /usr/local/bin 路径下搜索ls命名,而不使用默认的 /usr/bin.

8. 现在我们已经可以调用这个命令了, 但是我们还是觉得麻烦,因为我们每次都要输入 --color 选项。所以你有可能会希望给它起一个别名:

user@host ~> alias ls='ls --color'

有可能这个别名不能在shell /sbin/sh下使用。你需要使用更高级的shell例如 bash 或者 ksh.

9. 当然, 当我们注销时, 所有的设置也消失了, 所以我们需要把这个设置写在你的shell配置文件中, 例如 ~/.bashrc:

user@host ~> echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bashrc
user@host ~> echo "alias ls='ls --color'" >> ~/.bashrc

10. 为了使这个命令对系统的所有用户都有效, 将这最后两行写入 echo "alias ls='ls --color'" >> /etc/profile;