放到全局环境变量。注意自己是放全局还是自己家目录下环境的

echo "export PS1='[\[\e[35;1m\]\u\[\e[31;1m\]@\[\e[34;1m\]\h \[\e[33;1m\]\w]\[\e[36;1m\]$ \[\e[0m\]'" >>/etc/profile
source /etc/profile

[root@mcw1 /opt]$ tail -1 /etc/profile
export PS1='[\[\e[35;1m\]\u\[\e[31;1m\]@\[\e[34;1m\]\h \[\e[33;1m\]\w]\[\e[36;1m\]$ \[\e[0m\]'

这个空格 是划分主机名和路径之间的空格符

单引号和双引号没有影响

一、修改命令提示符格式
今天跟大家分享一下如何在Linux系统中修改命令提示符格式以及命令提示符颜色的技巧。通常情况下,我们的命令提示符是这个样子的

[root@RedHat7 ~]#
我们不难发现其命令提示符组成的各个部分:
[用户@计算机名 当前目录]#
#----超级用户
$----普通用户
当前目录是以简略格式显示,如果要显示当前目录的具体路径,用 pwd命令,这个命令组成方式,又一个环境变量PS1控制,下面我们具体了解一下该环境变量。我们先调取该变量的具体参数

[root@RedHat7 ~]# echo $PS1
[\u@\h \W]\$
[root@RedHat7 ~]#
1
2
那么里面的 [\u@\h \W]$分别代表什么呢?

PS1(是数字1而不是字母l),每个版本bash的PS1变量内的特殊符号可能有些小的差异,
你可以先man bash 一下。
下面是RedHat7环境下默认的特殊符号所代表的意义:
\d :代表日期,格式为weekday month date,例如:"Mon Aug 1"
\H :完整的主机名称。例如:我的机器名称为:RedHat7.linux,则这个名称就是RedHat7.linux
\h :仅取主机的第一个名字,如上例,则为RedHat7,而.linux则被省略
\t :显示时间为24小时格式,如:HH:MM:SS
\T :显示时间为12小时格式
\A :显示时间为24小时格式:HH:MM
\u :当前用户的账号名称
\v :BASH的版本信息
\w :完整的工作目录名称。家目录会以 ~代替
\W :利用basename取得工作目录名称,所以只会列出最后一个目录
\# :下达的第几个命令
\$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
默认的PS1内容为: PS1='[\u@\h \W]\$ ' ,
所以默认的提示符就是: [root@linux ~]#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
当我们了解上述参数之后,在实际操作过程中,我们如果想显示主机全名以及完整的工作目录,我们就需要修改PS1的相应参数,并写入/etc/profile文件中
例如:修改前,我们默认的PS1对于主机名、目录都只是显示一部分,

[root@RedHat7 ~]# hostname
RedHat7.linux
[root@RedHat7 ~]#
[root@RedHat7 ~]# cd /etc/sysconfig/network-scripts/
[root@RedHat7 network-scripts]#
1
2
3
4
现在我们想让主机名和工作路径全部显示出来,根据上面参数,我们需要用到大写的H和小写的w,我们用echo命令将修改后的PS1追加到 /etc/profile文件中(不建议这样操作,最好还是vim 进到文件去编辑好些),并更新该文件

[root@RedHat7 ~]# echo "PS1='[\u@\H \w]\$' " >> /etc/profile
[root@RedHat7 ~]# source /etc/profile
1
如果是在虚拟机里面或者是Xshell中,我们可能还要重启或断开连接再次连接才能看到结果。

[root@RedHat7.linux ~]$ cd /etc/sysconfig/network-scripts/
[root@RedHat7.linux /etc/sysconfig/network-scripts]$
1
此时,我们可以看到主机全名和工作路径的全部。

二、修改命令提示符颜色
我们先看一下这张图片中的命令提示符。

是怎么做到的呢?我们需要知道PS1颜色相关参数

颜色值设置
PS1中设置字符颜色的格式为:\[\e[F;Bm\],\[\e[0m\] 其中
“F“为字体颜色,编号为30-37,
“B”为背景颜色,编号为40-47。用 \[\e[0m\]结束颜色设置,颜色表如下:
F    B
30    40    黑色
31    41    红色
32    42    绿色
33    43    黄色
34    44    蓝色
35    45    紫红色
36    46    青蓝色
37    47    白色
根据颜色表,套用入字符颜色设置格式中,就可以对linux终端命令行颜色进行个性化设置。
比如要设置命令行的格式为绿字黑底,显示当前用户的账号名称、
主机的第一个名字、完整的当前工作目录名称、24小时格式时间,就可以使用如下的命令:

export PS1='\[\e[30;1m\][\u@\h \w]\$ \[\e[0m\] -----黑色提示符
export PS1='\[\e[31;1m\][\u@\h \w]\$ \[\e[0m\] -----红色提示符
export PS1='\[\e[32;1m\][\u@\h \w]\$ \[\e[0m\] -----绿色提示符
export PS1='\[\e[33;1m\][\u@\h \w]\$ \[\e[0m\] -----黄色提示符
export PS1='\[\e[34;1m\][\u@\h \w]\$ \[\e[0m\] -----蓝色提示符(天蓝)
export PS1='\[\e[35;1m\][\u@\h \w]\$ \[\e[0m\] -----粉色提示符
export PS1='\[\e[36;1m\][\u@\h \w]\$ \[\e[0m\] -----蓝色提示符(海蓝)
export PS1='\[\e[37;1m\][\u@\h \w]\$ \[\e[0m\] -----白色提示符
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
我们先看一下PS1原本的参数设置:[\u@\h \W]$
设置颜色:
以 [\e[35;1m]开始
以 [\e[0m]结束
我们想设置成上图那样的颜色,将这条命令添加到/etc/profile文件中即可

export PS1='[\[\e[35;1m\]\u\[\e[31;1m\]@\[\e[34;1m\]\h\[\e[33;1m\]\w]\[\e[36;1m\]$ \[\e[0m\]'

这样就ok了。

原文链接:https://blog.csdn.net/weixin_43535689/article/details/104590808

Linux系统修改命令提示符格式及颜色的更多相关文章

  1. linux系统修改CST时区

    ================================================= [root@tzyyserveryg ~]# date -R Fri, 28 Nov 2014 08 ...

  2. Linux系统文件名字体不同的颜色都代表什么

    Linux系统文件名字体不同的颜色都代表什么   在Linux中,文件的颜色都是有含义的.   其中, Linux中文件名颜色不同,代表文件类型不一样.   如下所示: www.2cto.com   ...

  3. linux 修改命令提示符&ubuntu目录颜色个性化

    1.linux 命令提示符个性化 在 ANSI 兼容终端(例如 xterm.rxvt.konsole 等)里, 可以用彩色显示文本而不仅仅是黑白. 本文示范了如何使用粗体和彩色的文字.     相信每 ...

  4. Linux系统中命令提示符解释-Linux中命令格式、分类-bash中的快捷键

    1.命令提示符 [root@mysqlserver01 opt]# [root@mysqlserver01 ~]# root 当前用户名 @ 固定的(格式) mysqlserver01 主机名 opt ...

  5. Linux如何修改命令提示符

    1.什么是命令提示符 命令提示符是CLI(command-line interface,命令行界面)在人机交互的过程中提示用户可以进行命令输入的特殊符号,在Linux中普通用户的prompt为“$”, ...

  6. Linux系统修改/etc/sysconfig/i18n文件,桌面无法正常显示

    在Windows环境下使用SSH Secure Shell Client登陆VMware Workstation中Linux系统查询hive表时,中文显示乱码:数字和url显示为NULL,网上说: 1 ...

  7. redhat系列linux系统 修改主机名的正确方法

    ##注:无特别说明,以下称呼的linux系统统一视为redhat系linux redhat系列linux系统 如果想修改主机名 很多人可能都会以为是: $hostname NEW-NAME 或者在 / ...

  8. linux系统修改系统时间与时区

    有装过Linux系统的人,可能都会有这样的经历,就是该机器安装windows系统时,时间正确,但是安装了linux系统后,尽管时区选择正确,也会发现系统时间不对.这是由于安装系统时采用了UTC,那么什 ...

  9. window 系统上传文件到linux 系统出现dos 格式换行符

    Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行,所以为了避免这种情况的发生,我们可以 ...

  10. Linux系统修改服务器系统时间

    修改Linux系统时间,需要执行两个命令,如下: 第一条指令:date –s '2017-07-12 10:22:30' 第二条指令:clock –w //将日期写入CMOS

随机推荐

  1. 深入理解 Java 循环结构:while、do while、for 和 for-each 循环

    Java 循环 循环可以执行一个代码块,只要达到指定的条件.循环很方便,因为它们节省时间,减少错误,并使代码更易读. Java While 循环 while 循环会循环执行一个代码块,只要指定的条件为 ...

  2. Go 语言 Printf 函数和格式化动词详解

    Printf() 函数可以使用多种格式化动词对输出进行格式化.下面是可以与所有数据类型一起使用的一些通用格式化动词: 以下动词适用于所有数据类型: 动词 描述 %v 以默认格式打印值 %#v 以 Go ...

  3. openGauss2.1.0在openEuler 20.03 LTS SP2 安装后,yum无法使用的问题解决

    openGauss2.1.0 在 openEuler 20.03 LTS SP2 安装后,yum 无法使用的问题解决 一.环境描述 操作系统: openEuler 20.03 LTS openEule ...

  4. Prometheus 性能调优-水平分片

    简介 之前笔者有连续 2 篇文章: Prometheus 性能调优 - 什么是高基数问题以及如何解决? 如何精简 Prometheus 的指标和存储占用 陆续介绍了一些 Prometheus 的性能调 ...

  5. 深入解析C++的auto自动类型推导

    关键字auto在C++98中的语义是定义一个自动生命周期的变量,但因为定义的变量默认就是自动变量,因此这个关键字几乎没有人使用.于是C++标准委员会在C++11标准中改变了auto关键字的语义,使它变 ...

  6. 树模型-label boosting-GBDT

    GBDT GBDT是boosting系列算法的代表之一,其核心是 梯度+提升+决策树. GBDT回归问题 通俗的理解: 先来个通俗理解:假如有个人30岁,我们首先用20岁去拟合,发现损失有10岁,这时 ...

  7. 收藏 | 超详细的Oracle19c安装步骤-CentOS Linux

    ORACLE学习-DBA数据库工程师 收藏 | 超详细的Oracle19c安装步骤 挨踢-IT人加油 [微思网络]IT培训-思科/华为/红帽/ORACLE... 2 人赞同了该文章 DBA数据库管理必 ...

  8. 重新点亮linux 命令树————权限的修改[十]

    前言 简单介绍一下文件的权限修改. 正文 chmod 修改文件.目录的权限 chmod u+x /tmp/testfile chmod u-x /tmp/testfile u 表示用户 g 表示组 o ...

  9. Linux下安装配置OpenResty服务器

    OpenResty是一款基于Nginx和Lua的高性能Web平台,在nginx基础之上集成了大量的lua库,第三方模块等,以便搭建各种处理高并发.可扩展的Web应用.服务或网关,并且OpenResty ...

  10. 力扣125(java)-验证回文串(简单)

     题目: 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan ...