shell提示符分析
首先shell提示符是什么呢?我们登陆系统之后看到的符号就是提示符,提示符可以理解为系统的入口,有了提示符我们才能通过命令和操作系统进行交互。如下:
root@Ubuntu:~
提示符由哪些部分组成,都代表什么意思呢?拆开看大家就明白了。
用户名 | | 机器名称 | | 当前路径 | 身份提示符 |
---|
root | @ | Ubuntu | : | ~ | # |
其中最后一个符号会随着用户的变化而变化,'#'只有当前用户是root的时候才显示,其他普通用户统一都显示‘$’。大致的意思已经了解了,但是它又是从哪得到这些数据的呢?实际上提示符的所有内容都是通过一个叫PS1的环境变量定义的。我们可以通过echo命令查看PS1的内容。
root@Ubuntu:~
\u@\h:\w\$
从输出结果中看,这个环境变量包含了一大堆字符,乍一看可能有点不明所以,实际上在这里不同的字符都有不同的意义:
字符 | 含义 |
---|
\a | 以ASCII格式编码的铃声,当遇到这个字符的时候,计算机会发出嗡嗡文的响声 |
\d | 以日,月,天的格式显示当前日期,例如:Sat Oct 17 |
\h | 本地主机名,不带末尾的域名 |
\H | 完整的主机名称 |
\j | 运行在当前shell会话中的工作数量 |
\I | 当前终端的设备名称 |
\n | 换行符 |
\r | 回车符 |
\s | shell程序名称 |
\t | 以hours:minutes:seconds的格式显示当前时间,24小时制 |
\T | 同上,12小时制 |
\@ | 以AM/PM的格式显示当前时间 |
\A | 以hours:minutes的格式显示当前时间,24小时制 |
\u | 当前用户名 |
\v | shell程序的版本号 |
\V | shell程序的版本和版本号 |
\w | 当前的工作路径 |
\W | 当前工作路径的最后部分 |
! | 当前命令的历史号 |
# | 当前shell会话中的命令数量 |
$ | 显示一个‘$’符号,在超级用户登录的情况下会显示一个‘#’字符 |
\[ | 表示一个或多个非打印字符的开始,意思就是这个符号后面的内容不会在终端中显示,一般用来更改文本的颜色 |
\] | 非打印字符序列结束 |
提示符自定义
了解了提示符的基本组成和控制它的变量后,我们就可以开始自定义自己的提示符了,首先我们先备份一下原来提示符变量内容,以便出错后恢复。
root@Ubuntu:~
用echo命令输出一下,可以看到已经成功复制了该变量,恢复的话反向赋值即可
root@Ubuntu:~
\u@\h:\w\$
备份完成后我们就可以根据提示符的列表来设计自己提示符了
root@Ubuntu:~
改完之后就会显示以下效果,可以看到整个提示符分为了三行。第一行是日期-时间-用户名,第二行是当前的工作目录,第三行是提示符的结束,也是输入命令的地方。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4910d1e3d432c7b473c064f7e3ebfb15.png)
除了修改提示符的内容,我们还可以修改字体的颜色
root@Ubuntu:~
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6878ab765165d500757950d107f9cbf6.png)
同样的我们选取一段拆开看看
\033[0;36m | [\d]-[\A]-[\u] | \033[0m |
---|
更改字符的颜色,这是非打印的字符 | 提示符的主体部分 | 颜色修改的终止符,告诉终端字体恢复到原来的颜色。一般在提示符变量的末尾 |
进阶-修改颜色
当然字体颜色也并不是随便填一个编码就行的,下面是可用的字体颜色列表
颜色编码 | 字体颜色 |
\033[0;30m | 黑色 |
\033[0;31m | 红色 |
\033[0;32m | 绿色 |
\033[0;33m | 棕色 |
\033[0;34m | 蓝色 |
\033[0;35m | 粉红 |
\033[0;36m | 青色 |
\033[0;37m | 浅灰色 |
\033[1;30m | 深灰色 |
\033[1;31m | 浅红色 |
\033[1;32m | 浅绿色 |
\033[1;33m | 黄色 |
\033[1;34m | 浅蓝色 |
\033[1;35m | 浅粉色 |
\033[1;36m | 浅青色 |
\033[1;37m | 白色 |
文本的背景色
颜色编码 | 背景颜色 |
\033[0;40m | 蓝色 |
\033[0;41m | 红色 |
\033[0;42m | 绿色 |
\033[0;43m | 棕色 |
\033[0;44m | 黑色 |
\033[0;45m | 紫色 |
\033[0;46m | 青色 |
\033[0;47m | 浅灰色 |
\033[0m | 这个在末尾一定要写,不然提示符后面输入的字体颜色和提示符的颜色一样了 |
要是想让提示符永久生效,可以把PS1的变量添加到.bashrc文件中即可。有的Linux发行版本的bashrc文件中已经包含了这一项,所以只要修改成自己的提示符然后保存就行了。
以上就是提示符修改的基本内容了,大家可以根据上面的内容自定义自己的提示符了