Linux Bash颜色设置

终端一直都是文本界面枯燥单一的黑白字体,自己定制下终端的颜色.

方法是修改~/.bashrc文件.

Linux有一些系统变量来存储信息,而命令提示符和终端的外观是通过一个PS1的变量来存储的.

先来显示下我们系统中 PS1 的当前内容吧(这或许看上去和你们的有那么点不同):

$ echo $PS1
[\u@\h \W]\$

输出的是PS1的默认值.

特殊字符说明

根据手册的描述,下面对各个特殊字符的含义作如下说明:

\u: 显示当前用户的 用户名。

\e 特殊字符,等同于 "/033",跟着颜色序列,在结尾使用 m 来表示结束

\h: 完全限定域名 Fully-Qualified Domain Name(FQDN)中第一个点(.)之前的主机名。

\h: 完全限定域名 Fully-Qualified Domain Name(FQDN)所有的主机名

\w: 当前工作目录的基本名,如果是位于 $HOME (家目录)通常使用波浪符号简化表示(~)。

\W :利用basename取得工作目录名称,所以只会列出最后一个目录

$: 如果当前用户是 root,显示为 #,否则为 $。

# :下达的第几个命令

\n :新建一行

\d :代表日期,格式为weekday month date,如:”Mon Aug 1″

\t :显示时间为24小时格式,如:HH:MM:SS

\T :显示时间为12小时格式

\A :显示时间为24小时格式:HH:MM

\v :BASH的版本信息

!: 显示当前命令的历史数量

颜色动作说明

0 重新设置属性到缺省设置
1 设置粗体
2 设置一半亮度(模拟彩色显示器的颜色)
4 设置下划线(模拟彩色显示器的颜色)
5 设置闪烁
7 设置反向图象
22 设置一般密度
24 关闭下划线
25 关闭闪烁
27 关闭反向图象
30 设置黑色前景
31 设置红色前景
32 设置绿色前景
33 设置棕色前景
34 设置蓝色前景
35 设置紫色前景
36 设置青色前景
37 设置白色前景
38 在缺省的前景颜色上设置下划线
39 在缺省的前景颜色上关闭下划线
40 设置黑色背景
41 设置红色背景
42 设置绿色背景
43 设置棕色背景
44 设置蓝色背景
45 设置紫色背景
46 设置青色背景
47 设置白色背景
49 设置缺省黑色背景

其他有趣的动作还有

\033[2J  清除屏幕
\033[0q  关闭所有的键盘指示灯
\033[1q  设置“滚动锁定”指示灯 (Scroll Lock)
\033[2q  设置“数值锁定”指示灯 (Num Lock)
\033[3q  设置“大写锁定”指示灯 (Caps Lock)
\033[15:40H 把关闭移动到第15行,40列
\007   发蜂鸣生beep

设置彩色目录

在.bashrc文件中增加

alias ls='ls --color=auto'

下次启动bash就可以使用彩色的目录列表了,其中彩色目录列表的颜色定义如下:

蓝色->目录;绿色->可执行文件;红色->压缩文件;浅蓝色->链接文件;灰色->其它文件。

其他常用的

alias ll='ls -alF'
alias la='ls -A'

alias grep='grep --color=auto'

设置ls的别名,和彩色的grep

修改 PS1,改变彩色提示:

本人修改后:

PS1="\[\e[1;34m\]# \[\e[1;33m\]\u @ in \[\e[1;31m\]\w \[\e[1;35m\][ \[\e[1;0m\]\t \[\e[1;35m\]] \[\e[1;36m\]\$\[\e[0m\]"


代码解释

  • [\e[1;34m]# ====> 定义左边的"#"为:蓝色
  • [\e[1;33m]\u ====> 定义用户名为 : 黄色
  • [\e[1;31m]\w ====> 定义目录为 : 红色
  • [\e[1;35m][ ====> 定义左"["为 : 洋红色
  • [\e[1;0m]\t ====> 定义缺省设置的时间为 : HH:MM:SS
  • [\e[1;36m]$ ====> 定义"$"为 : 青色
  • [\e[0m] ====> 一段不显示字串的结束
最后由 不一样的少年 编辑于2017年10月25日 00:07