ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2021-12-04 05:00:06  阅读:424  来源: 互联网

标签:命令提示符 提示符 root RedHat7 Linux 格式 PS1 1m 0m


 

[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

 

标签:命令提示符,提示符,root,RedHat7,Linux,格式,PS1,1m,0m
来源: https://www.cnblogs.com/machangwei-8/p/15640883.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有