Linux 终端命令行提示符的艺术--PS1进阶
话不多说,先瞅瞅我的命令行提示符(有点大):
图中命令行解释:
┌[阳历日期/农历日期 时间]
├[当前目录下目录数+当前目录下文件数][当前绝对目录]
└[用户名@主机名-第几个终端 ╰_╯]
相关配置文件
全局配置文件:/etc/bash.bashrc或者/ect/bashrc
单用户配置文件:“~”目录下的.bashrc隐藏文件
代码
对应于上图中的代码如下(添加位置一般将原有的PS1覆盖为准,即可以在原有的PS1上修改,也可以直接添加到配置文件的最后):
get_ps1()
{
Date=$(date +%F) Time=$(date -R | cut -c - |sed 's/,//') Lunar=$(lunar `date +%Y\ %m\ %d` |grep '^Lunar\ :' |awk '{print $3}' |sed 's/^.....\(.*\)..$/\1/') dn=$(ls -l | grep ^d | wc -l);fn=$(expr $(ls | wc -l) - ${dn}) Num=$(echo $Lunar|wc -m)
[ "$Num" = "" ] && space=' '
[ "$Num" = "" ] && space=' ' PS1="\342\224\214[\[\e[01;32m\]${Date}/${Lunar} ${space}${Time}\[\e[00m\]]\n\
\\\[\[\e[;34m\]${dn}\[\e[00m\]+${fn}][\[\e[;34m\]\w\[\e[00m\]]\n\
\\\[${debian_chroot:+($debian_chroot)}\[\e[;32m\]\u@\h-\l \[\e[00m\]\\\\\\\]\$"
}
PROMPT_COMMAND=get_ps1
如果你觉的上面的命令行提示符太复杂,你也可以将它缩减。。。
你需要了解的
如果你想设计一个自己喜欢的并且够炫的命令行提示符,你首先要了解以下一些东西。
1)里面涉及到了农历日期,在Ubuntu 12.04 LTS中可以从源中找到lunar软件包,但在Fedora和CentOS中并没有,为此我写了一个阳历转农历的shell脚本,具体可以参见我的上一篇文章Linux shell实现阳历转农历。
2)转义符及颜色。这个我就不再罗嗦了,google一下“Linux 命令行 颜色”会有很多答案的。
3)PROMPT_COMMAND,这个是实时命令行的关键,这个变量的内容会在显示bash提示符前执行,所以上面用到的实时内容需要它。
4)特殊字符显示不了怎么办?你可以将它转换为字符编码,可以在http://0xcc.net/jsescape/进行转义,在Plain text栏输入你要转义的字符,在\OOO栏就是你想要的字符编码。
Linux 终端命令行提示符的艺术--PS1进阶的更多相关文章
- PS1应用之——修改linux终端命令行各字体颜色
最近在学习linux操作系统(CentOS 6 & CentOS 7).觉得linux终端命令行全部为白色,会经常导致命令与输出内容难以分辨.于是上网找到修改linux终端命令行颜色的方法,发 ...
- 修改linux终端命令行颜色
进入修改:vim /root/.bashrc 1.PS1 要修改linux终端命令行颜色,我们需要用到PS1,PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置.在终端输入命令:#s ...
- 修改linux终端命令行各字体颜色
这里我用的是 CentOS 7.5,觉得linux终端命令行全部为白色,会经常导致命令与输出内容难以分辨.于是上网找到修改linux终端命令行颜色的方法,发现通过定义PS1环境变量即可实现,下面我以r ...
- securecrt中vim行号下划线问题及SecureCRT里root没有高亮的设置,修改linux终端命令行颜色
背景:在用raspberry用SecureCRT下的vim打开文件时出现用set nu时行有下划线,于是找了下解决办法,如下:vim行号下划线问题在vim中发现开启显示行号(set number) ...
- Mac终端命令行提示符格式更改方法
内容提要: 主要是通过~/.bash_profile文件更改环境变量PS1,修改命令行提示符的显示格式,并展示不同颜色. 本文介绍了默认设置的缺陷,以及需要用到的基础知识,最后介绍了更改命令行提示符格 ...
- 快速操作Linux终端命令行的快捷键列表
终端有很多快捷键,不太好记,常用的在这里 Ctrl+r 实现快速检索使用过的历史命令.Ctrl+r中r是retrieve中r.Ctrl+a:光标回到命令行首. (a:ahead)Ctrl+e:光标回到 ...
- 在Linux终端命令行下播放音乐的命令(Ubuntu)
现在的 Linux 桌面已经发展的很好了,在桌面下播放音乐操作起来也很简单.那么我们还记得在桌面不是那么好的时候我们是怎么播放音乐的么?哎,我是想不起来了,实在是太难了. 不过现在我们可以先安装一个小 ...
- 常用Linux终端命令行的快捷键列表
终端有很多快捷键,不太好记,常用的在这里 Ctrl+r 实现快速检索使用过的历史命令.Ctrl+r中r是retrieve中r. Ctrl+a:光标回到命令行首. (a:ahead) Ctrl+e:光标 ...
- linux 终端命令行的快捷键列表
终端有很多快捷键,不太好记,常用的在这里 Ctrl+r 实现快速检索使用过的历史命令.Ctrl+r中r是retrieve中r.Ctrl+a:光标回到命令行首. (a:ahead)Ctrl+e:光标回到 ...
随机推荐
- H国的身份证号码(搜索)
个人心得:巧妙利用数字进行维护就好了,深搜还是有点心得的: #1558 : H国的身份证号码I 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 H国的身份证号码是一个N位 ...
- BZOJ4923 [Lydsy1706月赛]K小值查询
题意 维护一个长度为n的正整数序列a_1,a_2,...,a_n,支持以下两种操作: 1 k,将序列a从小到大排序,输出a_k的值. 2 k,将所有严格大于k的数a_i减去k. \(n \leq 10 ...
- UV有问题?
1.检查读取显示贴图的环境与制作贴图环境UV坐标系是否一致. 如:Directx左上角(0,0),右下角(1,1) unity 左下角(0,0),右上角(1,1) 两者互转需要垂直镜像.
- Centos下安装禅道
1.下载禅道安装包:http://dl.cnezsoft.com/zentao/9.7/ZenTaoPMS.9.7.stable.zbox_64.tar.gz 2.将下载的压缩包解压到/opt目录下: ...
- phpstorm win/mac git配置 破解
http://blog.csdn.net/fenglailea/article/details/53350080 phpstorm中git配置教程: http://blog.csdn.net/knig ...
- Azure ARM模式下VNet配置中需要注意的几点事项
虚拟网络的配置是所有公有云中非常重要的环节.把虚拟网络配置好,对整个系统的管理.维护,以及安全性都非常重要. 本文将介绍Azure在ARM模式下VNet配置中需要特别注意的几点. 一 Azure的VN ...
- django的settings.py设置static
DEBUG = True ################ STATICFILES ################ # A list of locations of additional stati ...
- Celery-4.1 用户指南: Task(任务)
任务是构建 celery 应用的基础块. 任务是可以在任何除可调用对象外的地方创建的一个类.它扮演着双重角色,它定义了一个任务被调用时会发生什么(发送一个消息),以及一个工作单元获取到消息之后将会做什 ...
- Python函数(三)-局部变量
全局变量 全局变量在函数中能直接访问 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" name = 'John' def te ...
- vuex的实用知识点
本文系统介绍vuex的全部内容 为什么用vuex 组件通信知道吧,相信很多同学,刚学的时候很难懂,实时上在实际应用中,大型项目如果使用最原始的组件通信会非常的麻烦,主要体现在多层嵌套的组件之间的通信, ...