找回密码
 立即注册
  • QQ空间
  • 回复
  • 收藏

Linux命令行样式定制

admin 2019-10-13 05:41 192人围观 Linux相关

在使用linux命令行时候,总是难以区分命令和结果的具体界线,不知道当前的路径在哪里,就像下面这样,无形之中降低了我们的效率。但是我们在用git bash的时候不会有这个烦恼,那我们能不能将linux中的界面样式定制一下,变成git bash这样呢?答案是肯定的。



linux命令行界面



git bash 界面

通过查资料发现,要想修改命令行头部显示样式,实际的操作就是覆盖系统本身的 PS1 变量,如下代码所示,在当前用户(这里是root用户)的./bashrc中添加 PS1 的值就可以了

  1. [root@VM_72_235_centos ~]# vi .bashrc

  2. [root@VM_72_235_centos ~]# cat .bashrc

  3. # .bashrc

  4. # User specific aliases and functions

  5. alias rm='rm -i'

  6. alias cp='cp -i'

  7. alias mv='mv -i'

  8. # Source global definitions

  9. if[-f /etc/bashrc ];then

  10. ./etc/bashrc

  11. fi

  12. # 添加这行就可以了

  13. PS1='[\[\e[00;35m\]\u@dev \t\[\e[0m\]]\[\e[0;33m\](\w)\$\[\e[0m\] '


  14. [root@VM_72_235_centos ~]# source .bashrc (执行这句设置生效,只对当前用户生效)

  15. [root@dev 22:36:51](~)# ls (发现生效了)

先将这行代码拆分如下,再来分析具体意思

  1. [//表示【 [ 】 颜色为 默认颜色

  2. \[\e[00;35m\] \u@dev \t //表示【 \u@dev \t 】 颜色为 【 \[\e[00;35m\] 】

  3. \[\e[0m\] ]//表示【 ] 】 颜色为 【 \[\e[0m\] 】

  4. \[\e[0;33m\] (\w)\$ //表示【 (\w)\$ 】 颜色为 【 \[\e[0;33m\] 】

  5. \[\e[0m\] //取消设置(设置回默认颜色)

[\e[00;35m] 该设置是应用到后面字符上,直到有其他设置,所以最后要设置回默认颜色

设置字符序列颜色的格式为:[\e[F;Bm] 其中“F”为字体颜色,编号30 ~ 37;“B”为背景色,编号40 ~ 47

颜色表
前景背景颜色
3040黑色
3141红色
3242绿色
3343黄色
3444蓝色
3545紫红色
3646青蓝色
3747白色

变量值:

  • \d :可显示出『星期 月 日』的日期格式,如:"Mon Feb 2"

  • \H :完整的主机名称。举例来说,鸟哥的练习机为『www.vbird.tsai』

  • \h :仅取主机名称在第一个小数点之前的名字,如鸟哥主机则为『www』后面省略

  • \t :显示时间,为 24 小时格式的『HH:MM:SS』

  • \T :显示时间,为 12 小时格式的『HH:MM:SS』

  • \A :显示时间,为 24 小时格式的『HH:MM』

  • \@ :显示时间,为 12 小时格式的『am/pm』样式

  • \u :目前使用者的帐号名称,如『root』;

  • \v :BASH 的版本资讯,如鸟哥的测试主机版本为 3.2.25(1),仅取『3.2』显示

  • \w :完整的工作目录名称,由根目录写起的目录名称。但家目录会以 ~ 取代;

  • \W :利用 basename 函数取得工作目录名称,所以仅会列出最后一个目录名。

  • # :下达的第几个指令。

  • \$ :提示字元,如果是 root 时,提示字元为 # ,否则就是 $

  • \n : new line,表示另起一行显示指令符

通过上面的颜色及变量值对照表,就可以轻松的定制出适合自己的样式啦。

我的配置如下,跟git bash相近

  1. PS1='\[\e[00;35m\]\u@\h \t \[\e[0;33m\]\w (12.22.34.179)\n\$\[\e[0m\] '


  2. 效果如下(颜色在这里没显示出来):

  3. root@VM_72_235_centos 21:22:43/usr/local/share (12.22.34.179)

  4. $ less log.log

参考:在xshell中将命令行移至下一行: http://blog.sina.com.cn/s/blog_96a11ddf0102vbb7.html


----------------------------------------------------------------------------------------------------------------------
我们尊重原创,也注重分享,文章来源于微信公众号:OOPcoder,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
----------------------------------------------------------------------------------------------------------------------

鲜花

握手

雷人

路过

鸡蛋

yafeilinux和他的朋友们微信公众号二维码

微信公众号

专注于Qt嵌入式Linux开发等。扫一扫立即关注。

Qt开源社区官方QQ群二维码

QQ交流群

欢迎加入QQ群大家庭,一起讨论学习!

我有话说......