LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 4014|回复: 5

[原创]定制个性化的彩色文件目录及bash提示行

[复制链接]
发表于 2005-10-9 13:41:26 | 显示全部楼层 |阅读模式
bash下默认的目录颜色(dircolors)为蓝色,在暗色背景下经常看不清楚;而且某些类型文件如果能够彩色化就更好了。另外,bash提示行要修改一下,才更加美观。

拷贝以下代码到~/.bashrc以及 ~/.bash_profile,重新登录以后就可以了。
或者执行source ~/.bashrc立即生效。

[php]
if [ "$TERM" = "linux" ]
then
    #we're on the system console or maybe telnetting in
    export PS1="\[\e[32;1m\]\u@\H \w \$ \[\e[0m\]"
else
    #we're not on the console, assume an xterm
    export PS1="\[\e]2;\u @ \H\a\e[32;1m\]\w \$ \[\e[0m\] "
fi
LS_COLORS='no=00:fi=00:di=01;37;44:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01r=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.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:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mng=01;35:*.xcf=01;35:*.pcx=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.avi=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.mov=01;35:*.qt=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.mp3=01;32:*.wav=01;32:*.mid=01;32:*.midi=01;32:*.au=01;32:*.ogg=01;32:*.flac=01;32:*.aac=01;32:';
export LS_COLORS
[/php]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2005-10-9 13:57:19 | 显示全部楼层
简要说说怎么实现更改shell显示颜色(dircolors)的:
一般情况下,dircolors由/etc/DIR_COLORS定义,该文件含有简单注释。至于标准的dircolors格式可以用命令dircolors输出:

  1. ~ $  dircolors -p  //具体用法可以参考man
  2. TERM linux
  3. TERM linux-c
  4. TERM mach-color
  5. TERM console
  6. TERM con132x25
  7. TERM con132x30
  8. TERM con132x43
  9. TERM con132x60
  10. TERM con80x25
  11. TERM con80x28
  12. TERM con80x30
  13. TERM con80x43
  14. ...
  15. .mpg 01;35
  16. .mpeg 01;35
  17. .avi 01;35
  18. .fli 01;35
  19. .gl 01;35
  20. .dl 01;35
  21. .xcf 01;35
  22. .xwd 01;35
  23. .flac 01;35
  24. .mp3 01;35
  25. .mpc 01;35
  26. .ogg 01;35
  27. .wav 01;35
复制代码

可以看出每一行有两个项,前一项为类型,后一项为颜色代码(由xx;xx;xx组成,最后一个xx表示背景色,上面没有体现出来)。颜色代码值可以参考bash tcsh等shell的手册。比如bash中,01;32表示粗体绿色。01;32;40表示黑色背景的粗体绿色。

我们要定义自己的dircolors文件。可以如下操作:

  1. $dircolors -p > ~/.dir_colors
  2. $vi .dir_colors       // [color=red]自己修改颜色代码吧
  3. $eval `dircolors .dir_colors`  //[color=red]测试一下结果, 用ls --color看看[/color]
  4. $dircolors -b .dir_colors
  5. [color=blue]LS_COLORS='no=00:fi=00:di=01;37;44:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.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:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mng=01;35:*.xcf=01;35:*.pcx=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.avi=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.mov=01;35:*.qt=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.mp3=01;32:*.wav=01;32:*.mid=01;32:*.midi=01;32:*.au=01;32:*.ogg=01;32:*.flac=01;32:*.aac=01;32:';
  6. export LS_COLORS[/color] // 这就是我们要放在~/.bashrc和~/.bash_profile里头的bash代码。
复制代码

好了,把上面的结果保存到.bashrc .bash_profile里头吧。立即看看结果:
  1. $source .bashrc
  2. $ls --color //bla...bla...bla...
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-9 14:24:19 | 显示全部楼层
至于bash提示行的修改,可以参考Daniel Robbins的文章,写的再清楚不过了。
http://www-128.ibm.com/developer ... l-tip-prompt/tip01/
回复 支持 反对

使用道具 举报

发表于 2008-3-19 09:49:04 | 显示全部楼层
找了好久,终于把你个冤家找到了   哈哈
回复 支持 反对

使用道具 举报

发表于 2008-3-19 21:05:30 | 显示全部楼层
很经典的帖子,留个纪念
回复 支持 反对

使用道具 举报

发表于 2009-9-4 16:58:49 | 显示全部楼层
太谢谢了,在网上找了半天,终于解决了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表