漂亮的Linux命令提示符
每天面对着白底黑字(黑底白字)的命令行是否枯燥泛味呢?生活应给是五彩缤纷的,何不为单调无味的生活增添一抹色彩?
下面一起体验一下Linux命令行提示符惊险的整容之旅
惊鸿一瞥
整容前

整容后

神奇吧!下面就让我们拿起手术刀...
牛刀小试
首先到家目录下
[cofear@localhost ~]$
打开.bash_profile文件
[cofear@localhost ~]$ vi .bash_profile
我们会看的
1 # .bash_profile
2
3 # Get the aliases and functions
4 if [ -f ~/.bashrc ]; then
5 . ~/.bashrc
6 fi
7
8 # User specific environment and startup programs
9
10 PATH=$PATH:$HOME/bin
11
12 export PATH
我们只需在最后一行加export PS1="\e[36m\u\e[0m@\e[32m\h\e[0m: \e[34m\W\e[0m\$ "
1 # .bash_profile
2
3 # Get the aliases and functions
4 if [ -f ~/.bashrc ]; then
5 . ~/.bashrc
6 fi
7
8 # User specific environment and startup programs
9
10 PATH=$PATH:$HOME/bin
11
12 export PATH
13
14 export PS1="\e[36m\u\e[0m@\e[32m\h\e[0m: \e[34m\W\e[0m\$ "
保存退出,使文件生效
[cofear@localhost ~]$ . .bash_profile
我们就会看到整容成功

庖丁解牛
下面看看大师是如何操刀的
先看这条命令export PS1="\e[36m\u\e[0m@\e[32m\h\e[0m: \e[34m\W\e[0m\$ "
什么是PS1
PS1是Linux用来设置命令提示符的环境变量
"\h、\u、\W"是什么鬼
\u :当前用户的账号名称
\H :完整的主机名称
\h :主机名
\w :完整的工作目录名称
\W :当前工作目录名称
\$ :提示字符,root为# ,普通用户为$
其它
\d :日期
\t :显示时间为24小时格式
\T :显示时间为12小时格式
\A :显示时间为24小时格式
"\e[36m、\e[0m"又是什么鬼
\e[36m 是ANSI控制码,又叫VT100系列控制码,用于在字符显示系统中控制光标移动和字符色彩等
ANSI控制码开始的标志都为ESC[,ESC对应ASCII码表的033(八进制),\033来输入ESC,\033[36m即为ESC[36m
在Linux里\033[等同于\e[,故用\e[36m
颜色代码
| 背景色 | 字体色 |
|---|---|
| 40: 黑 | 30: 黑 |
| 41: 红 | 31: 红 |
| 42: 绿 | 32: 绿 |
| 43: 黄 | 33: 黄 |
| 44: 蓝 | 34: 蓝 |
| 45: 紫 | 35: 紫 |
| 46: 深绿 | 36: 深绿 |
| 47: 白色 | 37: 白色 |
ANSI控制码
| 控制码 | 说明 |
|---|---|
\033[30m -- \033[37m |
设置前景色 |
\033[40m -- \033[47m |
设置背景色 |
\033[0m |
关闭所有属性 |
\033[1m |
设置高亮度 |
\033[4m |
下划线 |
\033[5m |
闪烁 |
\033[7m |
反显 |
\033[8m |
消隐 |
到这儿大家都以为整容之旅结束了,说好的惊险呢?
奇幻之旅
其实冒险才刚刚开始
假设我的命令足够长

再长点,说好的换行呢?

再长点,为何覆盖了前面的东西?

再长点,好吧,你吓到我了!

额,好吧整容貌似失败,看来操刀大师浪得虚名!
走的太急,忽略了什么?
export PS1="\[\e[36m\]\u\[\e[0m\]@\[\e[32m\]\h\[\e[0m\]: \[\e[34m\]\ W\[\e[0m\]\$ "
凡事都应该收敛\[\e[36m\],\e[36m这是一个整体,应该[]起来。

完美谢幕
当我们以为冒险结束时,才是真正的开始
