Linux终端个性化配置
使用linux系统将近一年了,今天在做项目时注意到命令终端的格式和颜色均是可以配置,故在网上学习了一番,并写下此博客作为学习笔记。简单分析终端颜色和格式的默认配置代码,然后展示了语法规则,最终给出了自己使用的配置方案。
一、了解配置文件
一般Linux中的配置文件大多以点开头,而且多以rc结尾。
比如vim的配置文件 .vimrc,bash shell的配置文件.bashrc,等等。
像这样的配置文件,如果用ls -l命令是列不出来的,需要用ls -a来列出。
“rc”,它是“runcomm”的缩写――即“run command”(运行命令)的简写。
“rc” 是取自 “runcom”, 来自麻省理工学院在 1965 年发展的 CTSS系统。相关文献曾记载这一段话:”具有从档案中取出一系列命令来执行的功能;这称为 “run commands” 又称为 “runcom”,而这种档案又称为一个 runcom (a runcom)。
” rc”是很多脚本类文件的后缀,这些脚本通常在程序的启动阶段被调用,通常是Linux系统启动时。
如/etc/rc(连接到/etc/rc.d/rc)是Linux启动的主脚本,而.bashrc是当Linux的bash shell启动后所运行的脚本。
Linux或Unix的许多程序在启动时,都需要“rc”后缀的初始文件或配置文件。
二、.bashrc配置终端
终端,有一个配置文件,叫做.bashrc,这是用户个人的终端配置文件。
打开家目录下的终端配置文件看看,只要输入以下命令:
nano ~/.bashrc
或者 vi ~/.bashrc
Shell是一个用户跟操作系统之间的一个命令解释器,也就是用户与Linux操作系统之间沟通的桥梁。
bash是最常用的一种shell程序,Ubuntu和大部分常见的Linux发行版默认的shell程序就是bash。
.bashrc就是bash这个shell程序的配置文件。
三、默认配置
在linux系统中,用户的配置文件有多个,一般熟悉的有~/ .bashrc文件,我们可以在这个文件中,找到终端的配置。对于终端的显示,相信大家都不陌生,例如:
# If this is an xterm set the title to [email protected]:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\[email protected]\h: \w\a\]$PS1"
;;
*)
;;
esac
最终可以发现PS1对终端的颜色和格式进行了设置。
四、颜色设置方式
颜色 = \033[控制代码;前景;背景m
控制代码
控制代码 | 意义 |
---|---|
0 | OFF |
1 | 高亮显示 |
4 | underline |
5 | 闪烁 |
7 | 反白显示 |
8 | 不可见 |
颜色参数
颜色 | 前景 | 背景 |
---|---|---|
黑色 | 30 | 40 |
紅色 | 31 | 41 |
绿色 | 32 | 42 |
黃色 | 33 | 43 |
蓝色 | 34 | 44 |
紫紅色 | 35 | 45 |
青蓝色 | 36 | 46 |
白色 | 37 | 47 |
透明色 | 1 |
结合上面这两张表的信息,我们就可以进行颜色和动作定制了。
\033[01;32m //高亮显示绿色
\033[0m //清除颜色设定,用来控制颜色设定影响的范围
还需注意的是:在实际使用过程中,均需在颜色设定码两边加上方括号( “[ , ]” ), 原因见下表:特殊字符。
五、特殊字符
特殊字符 | 意义 |
---|---|
\e | ASCII转义字符(也可以键入 \033) |
\[ | 将非打印字符包起来,比如:颜色序列前后 |
\] | 将非打印字符包起来,比如:颜色序列前后 |
\n | 换行符 |
\u | 用户名 |
\w | 完整的工作目录名称 (如 “/home/drobbins”) |
\W | 利用basename取得工作目录名称,所以只会列出最后一个目录 |
\ $ | 用户提示符,普通用户”$”;超级用户”#” |
\h | 主机名的第一部分(如 “mybox”) |
\H | 主机的全称(如 “mybox.mydomain.com”) |
\d | 代表日期,格式为weekday month date,例如:”Mon Aug 1” |
\t | 显示时间为24小时格式,如:HH:MM:SS |
\T | 显示时间为12小时格式 |
\A | 显示时间为24小时格式:HH:MM |
\v | BASH的版本信息 |
\ # | 下达的第几个命令 |
到此为止,我们已经了解所有相关的语法规则,再次来看PS1的设置
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
六、分解展示
对上面的PS1进行分解:
代码片断 | 意义 |
---|---|
[ \033[01;32m\ ] | 设定颜色参数,高亮显示绿色 |
\u | 显示用户名 |
@ | 显示 ‘@’ |
\h | 显示用户组 |
[\033[00m\ ] | 去除颜色设定 |
: | 显示 ‘:’ |
[ \033[01;34m\ ] | 设定颜色参数,高亮显示蓝色 |
\w | 显示当前文件路径 |
[ \033[00m\ ] | 去除颜色设定 |
\ $ | 显示用户提示符‘#’ or ‘$’ |
———————————————————————————————————————————————————–
七、推荐配置
下面是我的配置代码,直接放在.bashrc文件末尾,就能使用。
PS1="\[\033[1;36m\]\u\[\033[1;32m\][\w]\[\033[1;33m\]->\[\033[0m\]"
添加代码后要记得更新 : source ~/.bashrc
———————————————————————————————————————————————————–