Linux系统修改命令提示符格式及颜色

2021/12/4 7:16:35

本文主要是介绍Linux系统修改命令提示符格式及颜色,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

[root@mcw1 /opt]$ tail -1 /etc/profile
export PS1='[\[\e[35;1m\]\u\[\e[31;1m\]@\[\e[34;1m\]\h \[\e[33;1m\]\w]\[\e[36;1m\]$ \[\e[0m\]'

 

 这个空格 是划分主机名和路径之间的空格符

 

 

一、修改命令提示符格式
今天跟大家分享一下如何在Linux系统中修改命令提示符格式以及命令提示符颜色的技巧。通常情况下,我们的命令提示符是这个样子的

[root@RedHat7 ~]#
我们不难发现其命令提示符组成的各个部分:
[用户@计算机名 当前目录]#
#----超级用户
$----普通用户
当前目录是以简略格式显示,如果要显示当前目录的具体路径,用 pwd命令,这个命令组成方式,又一个环境变量PS1控制,下面我们具体了解一下该环境变量。我们先调取该变量的具体参数

[root@RedHat7 ~]# echo $PS1
[\u@\h \W]\$
[root@RedHat7 ~]#
1
2
那么里面的 [\u@\h \W]$分别代表什么呢?

PS1(是数字1而不是字母l),每个版本bash的PS1变量内的特殊符号可能有些小的差异,
你可以先man bash 一下。
下面是RedHat7环境下默认的特殊符号所代表的意义:
\d :代表日期,格式为weekday month date,例如:"Mon Aug 1"
\H :完整的主机名称。例如:我的机器名称为:RedHat7.linux,则这个名称就是RedHat7.linux
\h :仅取主机的第一个名字,如上例,则为RedHat7,而.linux则被省略
\t :显示时间为24小时格式,如:HH:MM:SS
\T :显示时间为12小时格式
\A :显示时间为24小时格式:HH:MM
\u :当前用户的账号名称
\v :BASH的版本信息
\w :完整的工作目录名称。家目录会以 ~代替
\W :利用basename取得工作目录名称,所以只会列出最后一个目录
\# :下达的第几个命令
\$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
默认的PS1内容为: PS1='[\u@\h \W]\$ ' ,
所以默认的提示符就是: [root@linux ~]#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
当我们了解上述参数之后,在实际操作过程中,我们如果想显示主机全名以及完整的工作目录,我们就需要修改PS1的相应参数,并写入/etc/profile文件中
例如:修改前,我们默认的PS1对于主机名、目录都只是显示一部分,

[root@RedHat7 ~]# hostname
RedHat7.linux
[root@RedHat7 ~]#
[root@RedHat7 ~]# cd /etc/sysconfig/network-scripts/
[root@RedHat7 network-scripts]#
1
2
3
4
现在我们想让主机名和工作路径全部显示出来,根据上面参数,我们需要用到大写的H和小写的w,我们用echo命令将修改后的PS1追加到 /etc/profile文件中(不建议这样操作,最好还是vim 进到文件去编辑好些),并更新该文件

[root@RedHat7 ~]# echo "PS1='[\u@\H \w]\$' " >> /etc/profile
[root@RedHat7 ~]# source /etc/profile
1
如果是在虚拟机里面或者是Xshell中,我们可能还要重启或断开连接再次连接才能看到结果。

[root@RedHat7.linux ~]$ cd /etc/sysconfig/network-scripts/
[root@RedHat7.linux /etc/sysconfig/network-scripts]$
1
此时,我们可以看到主机全名和工作路径的全部。

二、修改命令提示符颜色
我们先看一下这张图片中的命令提示符。

是怎么做到的呢?我们需要知道PS1颜色相关参数

颜色值设置
PS1中设置字符颜色的格式为:\[\e[F;Bm\],\[\e[0m\] 其中
“F“为字体颜色,编号为30-37,
“B”为背景颜色,编号为40-47。用 \[\e[0m\]结束颜色设置,颜色表如下:
F    B
30    40    黑色
31    41    红色
32    42    绿色
33    43    黄色
34    44    蓝色
35    45    紫红色
36    46    青蓝色
37    47    白色
根据颜色表,套用入字符颜色设置格式中,就可以对linux终端命令行颜色进行个性化设置。
比如要设置命令行的格式为绿字黑底,显示当前用户的账号名称、
主机的第一个名字、完整的当前工作目录名称、24小时格式时间,就可以使用如下的命令:

export PS1='\[\e[30;1m\][\u@\h \w]\$ \[\e[0m\] -----黑色提示符
export PS1='\[\e[31;1m\][\u@\h \w]\$ \[\e[0m\] -----红色提示符
export PS1='\[\e[32;1m\][\u@\h \w]\$ \[\e[0m\] -----绿色提示符
export PS1='\[\e[33;1m\][\u@\h \w]\$ \[\e[0m\] -----黄色提示符
export PS1='\[\e[34;1m\][\u@\h \w]\$ \[\e[0m\] -----蓝色提示符(天蓝)
export PS1='\[\e[35;1m\][\u@\h \w]\$ \[\e[0m\] -----粉色提示符
export PS1='\[\e[36;1m\][\u@\h \w]\$ \[\e[0m\] -----蓝色提示符(海蓝)
export PS1='\[\e[37;1m\][\u@\h \w]\$ \[\e[0m\] -----白色提示符
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
我们先看一下PS1原本的参数设置:[\u@\h \W]$
设置颜色:
以 [\e[35;1m]开始
以 [\e[0m]结束
我们想设置成上图那样的颜色,将这条命令添加到/etc/profile文件中即可

export PS1='[\[\e[35;1m\]\u\[\e[31;1m\]@\[\e[34;1m\]\h\[\e[33;1m\]\w]\[\e[36;1m\]$ \[\e[0m\]'

这样就ok了。

原文链接:https://blog.csdn.net/weixin_43535689/article/details/104590808

 



这篇关于Linux系统修改命令提示符格式及颜色的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程