linux系统终端命令提示符设置(PS1)记录 - 散尽浮华 - 博客园 https://www.cnblogs.com/kevingrace/p/5985970.html

PS(Prompt Sign)指的是命令提示符,在日常运维工作中为了方面操作管理,有时会设定PS1环境变量。
废话不多说,下面开始记录下Linux中PS1设置

在/etc/.bashrc中,找到PS1变量的定义,如果没有,手动加上:
可以将显示输出到标题栏上:

[root@elk-node1 ~]# vim /root/.bashrc
...........
export PS1="\[\e]2;\u@\H \w\a\e[32;1m\]>\[\e[0m\]"
[root@elk-node1 ~]# source /root/.bashrc
export PS1="\[\e]2;\u@\H \w\a\e[32;1m\]>\[\e[0m\]"
[root@elk-node1 ~]# . /root/.bashrc
>cd /usr/local/
>pwd
/usr/local
>

最常见的设置:

1)粉红色的

[root@elk-node1 ~]# vim /root/.bashrc
...........
export PS1="\[\e[35;1m\][\u@\h \W]$>\[\e[0m\]"
[root@elk-node1 ~]# source /root/.bashrc
[root@elk-node1 local]$>cd /usr/local/
[root@elk-node1 ~]$>cd /usr/local/
[root@elk-node1 local]$>pwd
/usr/local
[root@elk-node1 local]$>

2)绿色设置

[root@elk-node1 ~]# vim /root/.bashrc
...........
export PS1="\[\e[32;1m\][\u@\h \W]$>\[\e[0m\]"
[root@elk-node1 ~]# source /root/.bashrc
[root@elk-node1 local]$>cd /usr/local/
[root@elk-node1 ~]$>cd /usr/local/
[root@elk-node1 local]$>pwd
/usr/local
[root@elk-node1 local]$>

------------------------------------------------------------------------------------------

上面切换到显示的是当前简介路径。那么如何让linux终端命令提示符号显示全路径,而不是当前简介路径?

下面两种方法:

1)第一种方法:在/root/.bashrc文件下添加下面内容
[root@elk-node1 ~]# vim /root/.bashrc 
.......
export PS1="[\u@\h \w]\$"
[root@elk-node1 ~]# source /root/.bashrc
[root@elk-node1 ~]$cd /usr/local/
[root@elk-node1 /usr/local]$                 #显示的是全路径

如果将上面的内容改为export PS1="[\u@\h \w]"#,那么显示的就是#符号

[root@elk-node1 ~]# vim /root/.bashrc 
.......
export PS1="[\u@\h \w]"#
[root@elk-node1 ~]# source /root/.bashrc
[root@elk-node1 ~]#cd /usr/local/
[root@elk-node1 /usr/local]                #显示的是全路径

注意:默认的PS1="[\u@\h \W]\$",其中\W就是路径的设置选项,大写的W是简介模式,小写的w为全路径模式。

2)第二种方法:在/root/.bashrc文件下添加下面内容:

[root@elk-node1 ~]# vim /root/.bashrc 
.......
export PS1="[\u@\h \`pwd\`]$"
[root@elk-node1 ~]# source /root/.bashrc
[root@elk-node1 ~]$cd /usr/local/
[root@elk-node1 /usr/local]$    #显示的是全路径

改为#号
[root@elk-node1 ~]# vim /root/.bashrc 
.......
export PS1="[\u@\h \`pwd\`]#"
[root@elk-node1 ~]# source /root/.bashrc
[root@elk-node1 ~]$cd /usr/local/
[root@elk-node1 /usr/local]$      #显示的是全路径

-------------------------------------------------------------------------------------------------------------------------------

使用方法:

# PS1='自定义内容'

注意两边的单引号

示例: PS1='(\u@\H \d\t)\$'

----------------------------------------------------------------------------------------------------------------

PS1:就是用户平时的提示符。

PS2:第一行没输完,等待第二行输入的提示符。

Linux系统提示符是用系统变量PS1来定义的。一般系统默认的形式是:[username@host工作目录]$. 
用echo $PS1可以得到PS1的值,即PS1="[\u@\h \w]"\$ 
登录后可以更改PS1的显示样式,但是当退出重启登录进入系统后,样式又变成系统默认的样式了,如果要彻底改变它的样式,只能从配置文件中改。
PS是在用户根目录下的.bash_profile中定义的。

如:

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startupprograms

#以下是设定的PS1的值

PS1="[\u@\h \w]\$"

PATH=$PATH:$HOME/bin

#使用export把PS1输出,以使它可以在子shell中生效,这会造成ROOT用户的也采用此样式

#export PS1 要慎用

export PATH

unset USERNAME

下面简单说说环境下默认的特殊符号所代表的意义:

\d :代表日期,格式为weekday month date,例如:"Mon Aug1"

\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变量使提示符成为彩色。在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 不可见

如果想要设置终端提示符的样式只要把$PS1在~/.bahrc指定即可比,比如我的设置如下:
设置一:
PS1="\[\e[32m\][\u@\h \w]$\[\e[m\]"
export PS1
效果:
[LinuxSong@test ~]$ 

设置二:

if [ $TERM = 'linux' ]; then
export PS1="[\[\e[36;1m\]\u@\h\[\e[31;1m\]\w\[\e[32;1m\]]> "
zhcon --utf8
clear
elif [ $TERM = "xterm" ]; then
export PS1="[\[\e[31;1m\]\w\e[0m]> "
fi

PS1的更多相关文章

  1. Linux 环境变量PS1设置

    新建用户不显示IP和机器名 CentOS下新增加一个用户,登录进去会发现shell脚本信息没有显示用户名和主机名,反而显示的是user1@202.173.1.12 解决方案: 1.在新建用户的-目录下 ...

  2. Bash之PS1配置

    今天想调整以下PS1的显示,查看了很多文档后有些收获.Bash有可自定义的4类提示: PS1 在每个命令之前显示的主提示符,因此它是每个人都不同的. PS2 当一个命令需要更多的输入(例如,一个多行命 ...

  3. PS1应用之——修改linux终端命令行各字体颜色

    最近在学习linux操作系统(CentOS 6 & CentOS 7).觉得linux终端命令行全部为白色,会经常导致命令与输出内容难以分辨.于是上网找到修改linux终端命令行颜色的方法,发 ...

  4. 分享原创powershell脚本小工具ctracert.ps1

    ----------[脚本介绍]----------- 脚本名称:ctracert.ps1软件名称:灰主牛 跟踪路由 归属地版 V1.0脚本作用:1跟踪路由.2显示归属地.(注意不带显示时间功能)脚本 ...

  5. Linux修改命令提示符(关于环境参量PS1)

    关乎环境参量的四个文件/etc/profile  /etc/bashrc ~/.bashrc  ~/.bash_profile $$$:/etc/profile:此文件为系统的每个用户设置环境信息,当 ...

  6. linux系统终端命令提示符设置(PS1)记录

    PS(Prompt Sign)指的是命令提示符,在日常运维工作中为了方面操作管理,有时会设定PS1环境变量.废话不多说,下面开始记录下Linux中PS1设置 在/etc/.bashrc中,找到PS1变 ...

  7. Linux下PS1、PS2、PS3、PS4使用详解

    参考印象笔记:

  8. 定义提示符 PS1 PS4

    PS1,如:[xiluhua@vm-xiluhua][~]$ # prompt PS1 export PATH BLUE=$(tput setaf ) PURPLE=$(tput setaf ) YE ...

  9. PowerShell让系统可以执行.ps1文件

    .ps1文件是PowerShell写好的脚本文件.在Windows系统中,默认情况下是不允许执行.ps1文件的,那么怎么才能让系统允许执行.ps1文件呢? 什么是“.ps1”文件? 这个是PowerS ...

  10. linux使用ps1设置命令行提示符

    要自定义命令行提示,需要ps1来设置.完成自定义需要以下几个步骤: 1.编辑~/.bashrc文件 vi ~/.bashrc 2.在.bashrc文件中添加以下一行自定义内容 export PS1=& ...

随机推荐

  1. HashMap遍历时的性能对比

    使用KeySet和EntrySet遍历的差别 public static void main(String[] args) { HashMap<Integer, Integer> hasM ...

  2. 27 个Jupyter Notebook的小提示与技巧

    不多说,直接上干货! 见 http://liuchengxu.org/pelican-blog/jupyter-notebook-tips.html

  3. Spring注解之@Lazy注解,源码分析和总结

    一 关于延迟加载的问题,有次和大神讨论他会不会直接或间接影响其他类.spring的好处就是文档都在代码里,网上百度大多是无用功. 不如,直接看源码.所以把当时源码分析的思路丢上来一波. 二 源码分析 ...

  4. A light-weight client-side OAuth library for Java

    这个是一个Github上的开源项目-Signpost,主要封装了一些OAuth认证类的方法,项目地址:电极打开 Signpost 什么是Signpost Signpost是一种非常容易.直观的HTTP ...

  5. python起源,变量,用户交互,流程语句

    1.Python的起源 Python是一门解释型弱类型编程语言. 特点:简单.明确.优雅 2.Python解释器 CPython官方提供的, 内部使用C语言来实现 PyPy,一次性把我们的代码解释成字 ...

  6. NIO(一)缓冲区

    I/O的基本概念 同步和异步的概念: 所谓的同步就是在发出一个请求的时候,如果没有得到结果,就不返回.即调用者主动等待返回结果. 所谓的异步:调用之后直接返回结果,一般通过回调函数来处理这个应用. 阻 ...

  7. uvm_regex——DPI在UVM中的实现(三)

    UVM的正则表达是在uvm_regex.cc 和uvm_regex.svh 中实现的,uvm_regex.svh实现UVM的正则表达式的源代码如下: `ifndef UVM_REGEX_NO_DPI ...

  8. extends 继承

    继承的作用:子类可以直接拥有父类成员:其中,私有成员和构造函数不参与继承: java中类继承的特点:只支持单一继承和多重继承,不支持多继承(一个类不能同时继承多个类) 继承中成员变量的特点:子类中可以 ...

  9. jQuery-添加新元素的方法(append()、prepend()、before()、after())

    1.以 HTML 创建新元素 var txt1="<p>Text.</p>"; 2.以 jQuery 创建新元素 var txt2=$("< ...

  10. 不得不承认pretty-midi很好用,以及一些简单的上手

    官方文档在此: http://craffel.github.io/pretty-midi/ 首先我们演示如何将midi文件转变为piano-roll格式(matrix). 现在我们手中有了一个数据集, ...