我们使用Linux系统时接触最多的是它的命令行窗口,很多时候我们都需要在命令行上输入命令,在输入的命令前都会有提示符,一般系统默认的提示符形式是:

[username@host 工作目录

 
其实,我们可以为自己订制个性化的命令行提示符,Linux系统提示符是用系统变量PS1来定义的,只要按规则修改PS1系统变量的值随意修改命令行提示符。
   
通过命令echo $PS1查看PS1的值,即PS1="[\u@\h: \w \t]\$ "。修改PS1的值后,重启系统或者重新登录后,PS1的值都会变回默认的值。如果希望对用户永久保存PS1的值,可以通过修改用户配置文件.profile,把系统变量PS1的新值重新导入:
   


命令提示符默认是$PS1,:“P,S”是大写

[root@centos6 ~]# echo $PS1
[\u@\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。
 

修改Linux的命令提示符及其颜色_第1张图片
 
接下来上颜色咯

修改Linux的命令提示符及其颜色_第2张图片
图 中提示符变为紫色,输出的字体保持不变,根据个人爱好设置即可。
   
颜色信息表

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

效果:
修改Linux的命令提示符及其颜色_第3张图片
   
export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。

一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执 行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。