漂亮的Linux命令提示符

每天面对着白底黑字(黑底白字)的命令行是否枯燥泛味呢?生活应给是五彩缤纷的,何不为单调无味的生活增添一抹色彩?
下面一起体验一下Linux命令行提示符惊险的整容之旅

惊鸿一瞥

整容前

整容后

神奇吧!下面就让我们拿起手术刀...

牛刀小试

首先到家目录下

[cofear@localhost ~]$

打开.bash_profile文件

[cofear@localhost ~]$ vi .bash_profile

我们会看的

 1 # .bash_profile
 2
 3 # Get the aliases and functions
 4 if [ -f ~/.bashrc ]; then
 5         . ~/.bashrc
 6 fi
 7
 8 # User specific environment and startup programs
 9
10 PATH=$PATH:$HOME/bin
11
12 export PATH

我们只需在最后一行加export PS1="\e[36m\u\e[0m@\e[32m\h\e[0m: \e[34m\W\e[0m\$ "

  1 # .bash_profile
  2
  3 # Get the aliases and functions
  4 if [ -f ~/.bashrc ]; then
  5         . ~/.bashrc
  6 fi
  7
  8 # User specific environment and startup programs
  9
 10 PATH=$PATH:$HOME/bin
 11
 12 export PATH
 13
 14 export PS1="\e[36m\u\e[0m@\e[32m\h\e[0m: \e[34m\W\e[0m\$ " 

保存退出,使文件生效

[cofear@localhost ~]$ . .bash_profile

我们就会看到整容成功

庖丁解牛

下面看看大师是如何操刀的

先看这条命令export PS1="\e[36m\u\e[0m@\e[32m\h\e[0m: \e[34m\W\e[0m\$ "

什么是PS1

PS1是Linux用来设置命令提示符的环境变量

"\h、\u、\W"是什么鬼

\u :当前用户的账号名称
\H :完整的主机名称
\h :主机名
\w :完整的工作目录名称
\W :当前工作目录名称
\$ :提示字符,root为# ,普通用户为$

其它

\d :日期
\t :显示时间为24小时格式
\T :显示时间为12小时格式
\A :显示时间为24小时格式

"\e[36m、\e[0m"又是什么鬼

\e[36m 是ANSI控制码,又叫VT100系列控制码,用于在字符显示系统中控制光标移动和字符色彩等

ANSI控制码开始的标志都为ESC[,ESC对应ASCII码表的033(八进制),\033来输入ESC,\033[36m即为ESC[36m

在Linux里\033[等同于\e[,故用\e[36m

颜色代码

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

ANSI控制码

控制码 说明
\033[30m -- \033[37m 设置前景色
\033[40m -- \033[47m 设置背景色
\033[0m 关闭所有属性
\033[1m 设置高亮度
\033[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐

到这儿大家都以为整容之旅结束了,说好的惊险呢?

奇幻之旅

其实冒险才刚刚开始

假设我的命令足够长

再长点,说好的换行呢?

再长点,为何覆盖了前面的东西?

再长点,好吧,你吓到我了!

额,好吧整容貌似失败,看来操刀大师浪得虚名!

走的太急,忽略了什么?

export PS1="\[\e[36m\]\u\[\e[0m\]@\[\e[32m\]\h\[\e[0m\]: \[\e[34m\]\ W\[\e[0m\]\$ "
凡事都应该收敛\[\e[36m\]\e[36m这是一个整体,应该[]起来。

完美谢幕

当我们以为冒险结束时,才是真正的开始

漂亮的Linux命令提示符的更多相关文章

  1. linux命令提示符解析

    linux命令提示符 命令窗口中[root@chengfeng ~]# 表示什么意思?       root        当前登录终端的用户      chengfeng     主机名(/etc/ ...

  2. Server版Linux命令提示符揭秘

            一直都在Ubuntu12.04和12.10  Desktop下玩.如今要在Centos6.3 Server版下做开发了,感觉还是非常不一样的. 克服一个有一个不顺利后,有那种站在山顶的 ...

  3. Linux命令提示符的配置

    Linux登录过程中加载配置文件顺序: /etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → [/etc/bashrc] ...

  4. linux命令提示符[root@localhost ~]#详解

    [root@localhost ~]#   1. @之前代表当前登录用户 在Linux中管理员用户是root,还有一些普通用户: 在此例中,root代表当前登录用户   2. @之后代表当前计算机主机 ...

  5. Linux命令提示符

    命令提示符:prompt [root@localhost ~]# 用户@主机名 所在目录 用户身份(#管理员 $普通用户) 显示提示符格式 Ubuntu sun@u18-2:~$ echo $PS1 ...

  6. 修改Linux命令提示符

    vim .bashrc export PS1='\e[1;32m\u\e[m\e[1;33m@\e[m\e[1;35m\h\e[m:\W\$'

  7. linux命令提示符设置

    变成绿色 [root@localhost /usr/local]#vim /root/.bashrc # .bashrc # User specific aliases and functions a ...

  8. linux命令提示符上色

    vi /etc/profile RED='\[\e[31;1m\]' Yello='\[\e[33;1m\]' Green='\[\e[32;1m\]' End='\[\e[0m\]' Pur='\[ ...

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

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

随机推荐

  1. [总结] I/O输入,输出

    I/O输入,输出第一:先判断到底是输入还是输出,站在程序的立场第二:判断是传递字节,还是字符,决定管道粗细,字节流是最基本的数据输出管道.字符类型管道专门用来传送文本数据.Java流的四大父类:1.字 ...

  2. 戴尔3542安装ubuntu时出现:failed to lead ldlinux.c32

    解决办法: 1. 开机未进入系统是连续敲击F2,进入BIOS2.在 BIOS 的Boot菜单下,将Secure Boot 改为 Disabled3. 将Boot List Option 改为 Lega ...

  3. Unit01: JAVA开发环境案例

    Top JAVA Fundamental DAY01 JDK及Eclipse目录结构操作 JDK的安装及配置 控制台版的JAVA HelloWorld 使用Eclipse开发Java应用程序 1 JD ...

  4. Sublime Text3快捷键以及常用插件

    工若善其事,必先利其器.做为一个web前端开发人员,必须有一个得心应手的编码工具,本人推荐Sublime Text3和WebStorm,但WebStorm太过智能和耗性能了对初学者来说弊大于利,所以我 ...

  5. Android监听返回键、Home键+再按一次返回键退出应用

    Android监听返回键需重写onKeyDown()方法 Home键keyCode==KeyEvent.KEYCODE_HOME @Override public boolean onKeyDown( ...

  6. css深入理解z-index

    z-index取值 z-index:auto;z-index:<integer>;z-index:inherit;继承 特性: 1.支持负值2.支持css3 animation动画;3.在 ...

  7. jq 弹半透明遮罩层

    jquery制作点击按钮弹出遮罩半透明登陆窗口 // )[^>]*$|^#([\w-]+)$/,M=/^.[^:#\[\.,]*$/,ka=/\S/,$= /^(\s|\u00A0)+|(\s| ...

  8. .net之工作流工程展示及代码分享(三)数据存储引擎

    数据存储引擎是本项目里比较有特色的模块. 特色一,使用接口来对应不同的数据库.数据库可以是Oracle.Sqlserver.MogoDB.甚至是XML文件.采用接口进行对应: public inter ...

  9. 【笔记】css hover 伪类控制其他元素

    最近在模仿一个网站的项目 当中有一个效果需要利用到hover效果因为不太想写jq脚本所以百度了一下css hover的运用发现原来hover也可以控制其他元素的变化的 但是这有一个要求 就是添加hov ...

  10. C# 自动Ping 测试服务器运行状况

    通过小程序自动Ping配置文件中的IP地址,间隔时间.IP地址.手机号码通过配置文件获得. 废话不多说,上代码. using Newtonsoft.Json; using Newtonsoft.Jso ...