需求:屏幕上信息太多时,不容易定位某个命令的起始位置,思考如何使终端提示符醒目
方法:终端提示符的显示逻辑由环境变量PS1决定,修改PS1环境变量实现需求
步骤:(转载)
set|grep PS1
PS1='[\u@\h \W]\$ '
或
echo $PS1
'[\u@\h \W]\$ '
下面简单说说环境下默认的特殊符号所代表的意义:
\d :代表日期,格式为weekday month date,例如:"Mon Aug 1"
\H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
\h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
\t :显示时间为24小时格式,如:HH:MM:SS
\T :显示时间为12小时格式
\A :显示时间为24小时格式:HH:MM
\u :当前用户的账号名称
\v :BASH的版本信息
\w :完整的工作目录名称。家目录会以 ~代替
\W :利用basename取得工作目录名称,所以只会列出最后一个目录
\# :下达的第几个命令
\$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
在PS1中设置字符序列颜色的格式为:
\[\e[F;Bm\]
其中``F''为字体颜色,编号30~37;``B''为背景色,编号40~47。
可通过``\e[0m''关闭颜色输出;特别的,当B为1时,将显示加亮加粗的文字。
详细请看下面的颜色表与代码表。
颜色表
前景 背景 颜色
---------------------------------------
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
35 45 紫紅色
36 46 青藍色
37 47 白色
代码 意义
-------------------------
0 OFF
1 高亮显示
4 underline
5 闪烁
7 反白显示
8 不可见
命令复习:
set|grep PS1
PS1='[\u@\h \W]\$ '
或
echo $PS1
'[\u@\h \W]\$ '
PS1='\[\e[32;1m\][\u@\h \W]\$ \[\e[0m\]' 仅终端提示符高亮显示绿色,随后的内容取消颜色输出
或者
PS1='[\[\e[32;40m\]\u\[\e[0m\]@\h \W]\$ ' 仅用户名显示绿色,随后内容取消颜色输出
上述命令仅临时生效,仅修改内存,需永久生效必须修改环境变量的配置文件: .bashrc
.bashrc 文件是用户家目录下的隐藏文件
cd ~ 进入家目录,cd 默认为 cd ~
家目录的实际地址为 /root/[username]
ls -la /root //root用户的家目录
可以看到 .bashrc文件
vim .bashrc
PS1='[\[\e[32;40m\]\u\[\e[0m\]@\h \W]\$ ' 末行添加,随后保存退出
家目录下:
source .bashrc 重新载入环境变量配置文件使更改生效(更新内存中的值)
如图:
----------------------------------------------------------------
参考资料:
http://oldboy.blog.51cto.com/2561410/1926142
《【老鸟分享】Linux命令行终端提示符多种实用技巧!》
http://www.linuxdiyf.com/bbs/thread-135300-1-1.html
《linux PS1 提示符定义--让你的提示符多姿多彩》
http://www.cnblogs.com/Q--T/p/5394993.html
PS1应用之——修改linux终端命令行各字体颜色