linux下PS1命令提示符设置

PS1是用来设置命令提示符的环境变量,可以在终端输入:

echo $PS1

来查看当前的设置。比如我安装的Ubuntu 16.04输入上述命令得到如下输出:

${debian_chroot:+($debian_chroot)}\u@\h:\w\$

效果图如下所示:

origin.png

这样的命令提示不美观,而且当我们输入的linux命令得到很多输出的时候我们很难找到命令提示符在哪里,所以可以通过设置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时,提示符为:# ,普通用户则为:$

我们可以通过颜色代码来修饰上述这些组件,颜色代码的格式为\[\e[F;Bm\],其中F表示字体的颜色,编号3037,B表示背景的颜色,编号4047。

颜色表如下:

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

根据以上说明,我配置的PS1如下所示(我直接在.bashrc中进行配置的,这样每次打开终端都会出现配置的效果):

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

效果图如下:

demo.png

说明:

  1. 这里1m背景色是近似透明的。
  2. 注意在$符号输出之后,我们还要重置颜色为透明,也就是\[\e[0m\],这样你输入的命令就不会受之前颜色设置的影响。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 74,881评论 12 116
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 127,792评论 18 547
  • 一大早清闲自在地走到了公司,坐下喝了杯水,正准备开始一天工作,脑子突然蹦出一个疑虑,我锁门了没? 这已经是第三次了...
    SunnyminLee阅读 104评论 1 0
  • 春之夜,渐己暖,青山绿水杨柳枝。 春节尽,忙工作,撸起袖子甩开干。 要下乡,深入户,脚到手到心也到。 勤奋学,写心...
    冲天农锄草阅读 338评论 12 22
  • 说起来挺惭愧,去年的爱无语读书会我没有参加,所以对夫妻相处之道我几乎 一无所知,我家的相处模式,主要还是说...
    星空微蓝阅读 27评论 0 1