Linux 修改终端的用户名主机名目录等颜色

发布时间 2023-07-06 16:31:20作者: Sinsen柳


[root@localhost ~]# vim ~/.bashrc 
[root@localhost ~]#
[root@localhost ~]# source ~/.bashrc
[root@localhost ~]#

 

# .bashrc

# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

case "$TERM" in
      xterm)
         export TERM=xterm-256color
         ;;
      screen)
         export TERM=screen-256color
         ;;
esac

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8

PS1='\[\e[37;40m\][\[\e[33;40m\]\u\[\e[34;40m\]@\[\e[35;40m\]\h \[\e[31;40m\]\W\[\e[37;40m\]]\[\e[32;40m\]# \[\e[0;37;40m\]'

\[\e[37;40m\][  #给[号设置 白字黑底
\[\e[33;40m\]\u  #给用户名设置 黄字黑底
\[\e[34;40m\]@  #给@符号设置 蓝字黑底
\[\e[35;40m\]\h  #给主机名设置 紫字黑底
\[\e[31;40m\]\W  #给目录设置 红字黑底
\[\e[37;40m\]]  #给]符号设置 白字黑底
\[\e[32;40m\]#  #给#号设置 绿字黑底(root用户#号,普通用户$符号)
\[\e[0;37;40m\]  #给#后的光标处设置 白字黑底但OFF,不然命令后的结果会带颜色,比如ls,后面头几个文件无论是目录还是文件都会先是这里定义的颜色。
效果如:个人喜欢的:
[root@localhost ~]#

 

1.了解PS1

  PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数。默认如下:

1 [root@zhang ~]# echo $PS1
2 [\u@\h \W]\$

  意思就是:[当前用户的账号名称@主机名的第一个名字 工作目录的最后一层目录名]#

 

PS1的常用参数以及含义:

  \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用户,提示符为 # ,普通用户则为 $

 

2.颜色设置参数

 

 在PS1中设置字符颜色的格式为:\[\e[F;Bm\]........\[\e[0m\],其中“F“为字体颜色,编号为30-37,“B”为背景颜色,编号为40-47,\[\e[0m\]作为颜色设定的结束。

  颜色对照表:

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

                                                                                          还可以更改文字的状态

状态值状态
0 OFF
1 加粗高亮
4 下划线
5 闪烁
7 反色
8 不可见

                                                                                           文字的前景色、背景色和状态可以叠加,用;分开