个性化您的Ubuntu Linux终端

牧云@^-^@ 提交于 2019-12-02 12:09:33

问题发现


前段时间把Python程序在终端中输出设置着实改了一通,见前几天的一篇博客 Python实现设置终端显示颜色、粗体、下划线等效果
感觉世界瞬间充满了色彩,但是还是不爽,因为最关键的是,我们最最亲爱的终端是黑白的。。。。
于是。。。。我希望“他”能够充满色彩,我还是一如既往的坏。
个性化您的Ubuntu Linux终端

Linux终端颜色显示设置


原理依旧是Linux终端下的颜色设置在Linux终端中,使用转义序列来进行如上所述的显示,转义序列以ESC开头,即ASCII码下的\033,其格式为:

\033[显示方式;前景色;背景色m

显示方式、前景色、背景色至少一个存在即可。
格式:\033[显示方式;前景色;背景色m

个性化Ubuntu Linux终端


设置


在~/.bashrc中添加如下代码

PS1="\[\033[0;32m\]\A \[\033[0;31m\]\u\[\033[0;34m\]@\[\033[0;35m\]\h\[\033[0;34m\]:\[\033[00;36m\]\W\[\033[0;33m\] $\[\033[0m\]"

然后使用source ~/.bashrc让设置立即生效。
或者直接将以上代码输入终端,你会发现你的终端变样子了
终端变样子了

在Linux的环境变量中,PSI是 基本提示符,对root 是# 普通用户$

说明


最外边的”[ ]”是为了把转义序列的字符串括起来,防止转义序列的文本显示在 shell 里占用太多的空间。

\033 声明了转义序列的开始,然后是 [ 开始定义颜色。 后面的 0 定义了默认的字体宽度,接着的中间的数字定义字符颜色。最后面的数字定义了字符背景色。字母m是定义本身所必须的,字母m后面的字符就是你想改变的字符了。
可选颜色:红色、绿色、黄色、蓝色、洋红、青色和白色。 他们对应的颜色代码是:30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(紫红色)、36(青色)、37(白色)。
用同样色方法设置背景色,不过要把第一个数字“3”替换成“4”, 例如 40、41、42、43、44、45、46、47。

解释

下面我们来逐个解释我们刚才设置的信息

PS1="\[\033[0;32m\]\A \[\033[0;31m\]\u\[\033[0;34m\]@\[\033[0;35m\]\h\[\033[0;34m\]:\[\033[00;36m\]\W\[\033[0;33m\] $\[\033[0m\]"

首先是\[\033[0;32m\]\A,在终端中输入PS1=”[\033[0;32m]\A”,你看到了什么。
PS1="[\033[0;32m]\A
\033[0;32m 设置字体前景色,即字体颜色为绿色
\A 会在终端中显示当前的时间
如果想让终端恢复初始设置,我们这时候只需要重新设置PSI的值,或者关闭当前终端,重新再打开一个就可以了,因为我们在终端直接设置PSId的值是即时生效,但是确是只对当前终端有效的。
接着是\[\033[0;31m\]\u,是将用户名显示成红色,u表示user。
下面的\[\033[0;34m\]@ ,是蓝色显示@字符信息。
后面的\[\033[0;35m\]\h,是用紫红色显示主机名,h表示hostname。
紧接着是: 号的设置显示成蓝色\[\033[0;34m\]:
然后是路径的显示设置,颜色是青色,\[\033[00;36m\]\W
继续下来是终端符号root 是#, 普通用户$ ,显示成黄色\[\033[0;33m\] $
最后就是我们自己输入的命令的设置了,默认吧,使用\[\033[0m\] 关闭终端颜色的设置。

最后附上几个大神的设置信息

#  将您的终端变成带表格样式的
PS1="┌─[\d][\u@\h:\w]\n└─>"

表格式终端

#  将您的终端变成表格样式 + 带颜色显示
PS1="\[\033[0;32m\]┌┼─┼─ \[\033[0m\033[0;32m\]\u\[\033[0m\] @ \[\033[0;36m\]\h\[\033[0m\033[0;32m\] ─┤├─ \[\033[0m\]\t \d\[\033[0;32m\] ─┤├─ \[\033[0;31m\]\w\[\033[0;32m\] ─┤ \n\[\033[0;32m\]└┼─\[\033[0m\033[0;32m\]\$\[\033[0m\033[0;32m\]─┤▶\[\033[0m\]"

表格样式 + 带颜色显示

#  将您的终端变得个性十足
PS1="\[\e[0;1m\]┌─( \[\e[31;1m\]\u\[\e[0;1m\] ) – ( \[\e[36;1m\]\w\[\e[0;1m\] )\n└──┤ \[\e[0m\]"

个性十足

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!