修改Linux的命令提示符及其颜色
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改Linux的命令提示符及其颜色相关的知识,希望对你有一定的参考价值。
我们使用Linux系统时接触最多的是它的命令行窗口,很多时候我们都需要在命令行上输入命令,在输入的命令前都会有提示符,一般系统默认的提示符形式是:
[[email protected] 工作目录
其实,我们可以为自己订制个性化的命令行提示符,Linux系统提示符是用系统变量PS1来定义的,只要按规则修改PS1系统变量的值随意修改命令行提示符。
?
通过命令echo $PS1查看PS1的值,即PS1="[\[email protected]\h: \w \t]\$ "。修改PS1的值后,重启系统或者重新登录后,PS1的值都会变回默认的值。如果希望对用户永久保存PS1的值,可以通过修改用户配置文件.profile,把系统变量PS1的新值重新导入:
?
命令提示符默认是$PS1,注:“P,S”是大写
[[email protected] ~]# echo $PS1
[\[email protected]\h \W]\$
除了以上默认的符号外,还有以下各个特殊符号代表的意义
\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时,提示符为:# ,普通用户则为:$
?
比如,给命令提示符加个24小时格式的时间,并为提示符加上颜色。
注:在PS1中设置字符序列颜色的格式为:[\e[F;Bm"] 其中“F“为字体颜色,编号为30-37,“B”为背景颜色,编号为40-47。
?
接下来上颜色咯
图 中提示符变为紫色,输出的字体保持不变,根据个人爱好设置即可。
?
颜色信息表
Font | background | color |
---|---|---|
30 | 40 | 黑色 |
31 | 41 | 红色 |
32 | 42 | 绿色 |
33 | 43 | ××× |
34 | 44 | 蓝色 |
35 | 45 | 紫红色 |
36 | 46 | 青蓝色 |
37 | 47 | 白色 |
?
设置重启后不失效
PS1命令可以设置当前shell的命令提示符,是shell中的一个功能,但是shell也是一个程序,有进程的生命周期,他会随着进程生命周期结束而将保存在内存中的数据丢失,如果想保存配置,需要将赋值保存在文件中,shell环境配置文件分文两类:
profile类:为交互式登录的shell提供配置,交互式登录为直接通过某终输入账号密码登录打开的shell进程或使用su - USERNAME执行的登录切换;他的读取次序为: /etc/profile-->/etc/profile.d/*-->/bash.profile-->/.bahrc-->/etc/bashrc
bashrc类:为非交互式登陆的shell提供配置,非交互为su USERNAME执行的用户登录切换,读取次序为:~/.bashrc -->/etc/bashrc -->/etc/profile.d/
如果想要设置终端提示符的样式只要把$PS1在~/.bahrc指定即可,我的设置如下:
?
vim.~/.bashrc
export PS1
效果:
?
export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。
一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执 行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。
?
以上是关于修改Linux的命令提示符及其颜色的主要内容,如果未能解决你的问题,请参考以下文章