我用的是阿里云的服务器。服务器的命令行总是会带一长串主机名,而且命令行不能显示当前绝对路径。我就想通过对PS1的修改,实现适合我的命令行。
参考修改linux终端命令行颜色
1.PS1
要修改linux终端命令行颜色,我们需要用到PS1,PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。在终端输入命令:#set,即可在输出中找到关于PS1的定义如下:
PS1=’[\u@\h \W]$ ’
PS1的定义中个常用的参数的含义如下:
参数 | 意义 |
---|---|
\d | 代表日期,格式为weekday month date,例如:“Mon Aug 1” |
\H | 完整的主机名称 |
\h | 仅取主机的第一个名字 |
\t | 显示时间为24小时格式,如:HH:MM:SS |
\T | 显示时间为12小时格式 |
\A | 显示时间为24小时格式:HH:MM |
\u | 当前用户的账号名称 |
\v | BASH的版本信息 |
\w | 完整的工作目录名称 |
\W | 利用basename取得工作目录名称,所以只会列出最后一个目录 |
# | 下达的第几个命令 |
$ | 提示字符,如果是root时,提示符为:# ,普通用户则为:$ |
由此,我们可知linux默认的命令行提示信息为:[当前用户的账号名称@主机的第一个名字 工作目录的最后一项]#
2.颜色的设置
在PS1中设置字符颜色的格式为:[\e[F;Bm],其中“F“为字体颜色,编号为30-37,“B”为背景颜色,编号为40-47。颜色表如下:
F | B | 颜色 |
---|---|---|
30 | 40 | 黑色 |
31 | 41 | 红色 |
32 | 42 | 绿色 |
33 | 43 | 黄色 |
34 | 44 | 蓝色 |
35 | 45 | 紫红色 |
36 | 46 | 青蓝色 |
37 | 47 | 白色 |
根据颜色表,套用入字符颜色设置格式中,就可以对linux终端命令行颜色进行个性化设置了。比如要设置命令行的格式为绿字黑底,显示当前用户的账号名称、主机的第一个名字、完整的当前工作目录名称、24小时格式时间,就可以使用如下的命令:
#PS1=’[[\e[32;40m]\u@\h \w \t]$ ’
3.修改.bashrc文件
通过上面的设置只能改变当前终端的命令行格式,关闭这个终端,在重新打开的一个终端中命令行格式又会恢复到默认的形式。想要永久性的改变终端命令行格式,需要修改.bashrc文件。
vim .bashrc
在.bashrc文件中加入
PS1='\[\e[32;40m\]\u@\A\[\e[37;40m\]:\[\e[34;40m\]\w \$ \[\e[37;40m\]'
效果是这样的:
这条语句,然后保存,就可以永久性的改变终端命令行格式了。