目录
一、系统环境
二、命令提示符 PS1
2.1 PS1 普通特殊字符
2.2 颜色特殊字符
2.3 设置 PS1
三、总结
四、参考文献
之前因为有工作接触到命令提示符这点,本篇文章就总结下命令提示符的使用和设置,方便日后查询和使用。
一、系统环境
CentOS Linux release 8.0.1905 (Core)
二、命令提示符 PS1
2.1 PS1 普通特殊字符
在 CentOS 中,使用 PS1 来表示命令提示符,可以通过设置变量 PS1 来设置自己想要的命令提示符,它是由一系列的特殊符号和字符组成的,先来看下 CentOS 中默认的命令提示符为:
[root@localhost ~]# echo $PS1
[\u@\h \W]\$
[root@localhost ~]#
其中,root 代表当前用户,localhost 代表主机名, ~ 代表当前目录为用户主目录, # 代表当前用户是 root,剩余的 “[、]、@”代表普通字符。那都有哪些特殊字符呢,如下所示:
\u : 当前用户的账号名称;
\h : 仅取主机名的第一个名字;
\W : 使用 basename 取得工作目录名称,所以只会列出最后一个目录;
\$ : 提示符,如果当前用户是 root,则为 # ,否则为 $;
\d : 代表日期,格式为 weekday month date,例如:“Mon Aug 1”;
\H : 完整的主机名称;
\t : 显示时间为 24 小时格式,如:HH:MM:SS;
\T : 显示时间为 12 小时格式;
\A : 显示时间为25小时格式,如:HH:MM;
\v : BASH的版本信息;
\w : 显示完整的路径,其中家目录会以~代替;
\# : 执行的第几个命令;
2.2 颜色特殊字符
还可以对命令提示符设置颜色,颜色格式主要分为三部分:
(1)配置字符颜色,格式为:
\[\e[F;Bm\]
(2)要改变颜色的字符;
(3)配置颜色结束符,格式为:
\e[m
其中,F 代表字体颜色,B 代表背景颜色,F 和 B 可选的颜色如下所示:
F | B | 颜色 |
---|---|---|
30 | 40 | 黑色 |
31 | 41 | 红色 |
32 | 42 | 绿色 |
33 | 43 | 黄色 |
34 | 44 | 蓝色 |
35 | 45 | 紫红色 |
36 | 46 | 青蓝色 |
37 | 47 | 白色 |
2.3 设置 PS1
(1)临时设置,重启后失效
在普通设置PS1='[\u@\h \W]\$'的基础上,增加 \t 时间参数,如下所示:
[root@bogon ~]# echo $PS1
[\u@\h \W]\$
[root@bogon ~]# PS1='[\u@\h \t \W]\$'
[root@bogon 18:00:28 ~]#
在此基础上,再加上 bash\v ,如下所示:
[root@bogon 18:05:49 ~]#PS1='[\u@\h bash\v \t \W]\$'
[root@bogon bash4.4 18:05:54 ~]#
设置颜色,设置字体为黄色,背景为蓝色(这里设置的颜色没有在博客中显示出来,可以自己试下)如下所示:
[root@localhost 18:31:15 ~]#echo $PS1
[\u@\h \t \W]\$
[root@localhost 18:33:37 ~]#PS1='\[\e[33;44m\][\u@\h \t \W]\$\e[m'
[root@localhost 18:34:54 ~]#
可以根据上面列出的特殊字符设置自己的样式。
(2)永久设置
永久设置需要将PS1的配置写入配置文件(修改配置文件.bashrc),如下所示:
[root@localhost ~]# vim .bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# add PS1
PS1='[\u@\h \t \W]\$' # 添加 PS1 配置
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
[root@localhost ~]#
修改后在当前终端不会立即生效,重新打开终端会生效,如下所示:
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Sat Aug 22 18:30:19 2020 from 192.168.231.1
[root@localhost 18:31:15 ~]#
三、总结
终端命令提示符是根据 PS1 进行设置的,根据规则自行设置即可,没特殊的需求,默认即可,后面的文章会继续介绍PS2、PS3、PS4。
四、参考文献
[1] https://www.cnblogs.com/haimingwey/archive/2012/04/15/2450488.html
[2] https://www.cnblogs.com/liuzgg/p/11663000.html
[3] http://c.biancheng.net/view/3175.html
[4] https://www.jianshu.com/p/d1719835ec95