Linux下如何修改终端提示符

Linux终端大家想必都清楚吧,最近在使用的时候发现在进入到某个文件夹目录比较深的层次后,终端提示的绝对路径很长,这样给人的感觉很不习惯,在这里给大家介绍下如何修改终端的提示,顺便介绍下提示符的颜色:

PS1变量简介

PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。

可以使用 man bash命令查看bash手册,找到该变量支持的特殊字符,以及这些特殊字符的意义:

d #代表日期,格式为weekday month date,例如:"Mon Aug 1"   
H #完整的主机名称。   
h #仅取主机的第一个名字,如上例,则为fc4,.linux则被省略   
	 #显示时间为24小时格式,如:HH:MM:SS   
T #显示时间为12小时格式   
A #显示时间为24小时格式:HH:MM   
u #当前用户的账号名称   
v #BASH的版本信息   
w #完整的工作目录名称。家目录会以 ~代替   
W #利用basename取得工作目录名称,所以只会列出最后一个目录 
# #下达的第几个命令   
$ #提示字符,如果是root时,提示符为:# ,普通用户则为:$  

修改终端提示符

查看默认提示符设置

$ echo $PS1
[e]0;u@h: wa]${debian_chroot:+($debian_chroot)}u@h:w$

修改默认设置,将如下命令添加到当前登录用户的~/.bashrc文件中,然后使用source使其生效,如果有不明白~/.bashrc文件作用的,可以参考我的这篇文章介绍:.bash_profile .bashrc profile 文件的作用的执行顺序

$ vi ~/.bashrc
#在文件最后添加如下设置
export PS1="[u@h W] $ "
$ source ~/.bashrc #使其设置生效

颜色设置

在PS1中设置字符序列颜色的格式为:[e[F;Bm]

其中“F”为字体颜色,编号30~37;“B”为背景色,编号40~47。

下面看下颜色表:

 前景   背景      颜色
 ------------------------
 30      40      黑色   
 31      41      红色   
 32      42      绿色   
 33      43      黄色   
 34      44      蓝色   
 35      45      紫红色   
 36      46      青蓝色   
 37      47      白色

效果控制代码:

代码              意义   
-------------------------   
0                 OFF   
1                 高亮显示   
4                 underline   
5                 闪烁   
7                 反白显示   
8                 不可见

修改提示符颜色示例

$ PS1="[e[32m]###[e[1;31m]u@[e[36m]h w]$[e[m"

说明:

  1. e[32m
    ’用来设置‘###’的颜色为绿色,###就是显示现在运行的是第几条命令
  2. ‘[e[31m]’设置‘u@’的颜色为红色并高亮显示,如果指定多个数字需要用分号隔开。u@ 就是当前登录的用户名后跟一个‘@’符号。
  3. e[36m
    ’设置‘hw’为青蓝色,h表示主机名的第一位,如果主机名为centos6.lampbo.org,那么就显示centos6;w将显示完整的绝对路径。
  4. ‘$’ 提示字符,如果是root时,提示符为:# ,普通用户则为:$。
  5. e[m
    ’使用来关闭颜色设置的。要是你没有这个的话;那么,你的命令提示符,包括你通过命令提示符输出的东西都是和最后一次的颜色设置相同。
  6. 为了能够在启动和登录是可以保持刚刚设置的变量,需要将PS1的设置加入到用户home目录的.bashrc文件后。
原文地址:https://www.cnblogs.com/xiaofeiIDO/p/8037331.html