终端颜色设置
Posted 知乐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了终端颜色设置相关的知识,希望对你有一定的参考价值。
转载 命令行终端颜色设置
Linux给人最大的享受就是可以根据个人喜好去定制令自己舒服的系统配置,像终端颜色的设置就是一个典型的例子。
首先我们要知道如下几张表:
前景 背景 颜色
---------------------------------------
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
35 45 紫紅色
36 46 青藍色
37 47 白色
1 透明色
代码 意义
-------------------------
0 OFF
1 高亮显示
4 underline
5 闪烁
7 反白显示
8 不可见
序列说 明
\\a ASCII响铃字符(也可以键入 \\007)
\\d "Wed Sep 06"格式的日期
\\e ASCII转义字符(也可以键入 \\033)
\\h 主机 名的第一部分(如 "mybox")
\\H 主机 的全称(如 "mybox.mydomain.com")
\\j 在此 shell中通过按 ^Z挂起的进程数
\\l 此 shell的终端设备名 (如 "ttyp4")
\\n 换行 符
\\r 回车 符
\\s shell的名称(如 "bash")
\\t 24小时制时间(如 "23:01:01")
\\T 12小时制时间(如 "11:01:01")
\\@ 带有 am/pm的 12小时制时间
\\u 用户 名
\\v bash的版本(如 2.04)
\\V Bash版本(包括补丁级别) ?/td>;
\\w 当前 工作目录(如 "/home/drobbins")
\\W 当前 工作目录的“基名 (basename)”(如 "drobbins")
\\! 当前 命令在历史缓冲区中的位置
\\# 命令 编号(只要您键入内容,它就会在每次提示时累加)
\\$ 如果 您不是超级用户 (root),则插入一个 "$";如果您是超级用户,则显示一个 "#"
\\xxx 插 入一个用三位数 xxx(用零代替未使用的数字,如 "/007")表示的 ASCII 字符
\\\\ 反斜 杠
\\[这个序列应该出现 在不移动光标的字符序列(如颜色转义序列)之前。它使 bash能够正确计算自动换行。
\\] 这个序列应该出现在非打印字符序列之后。
颜色的设置公式
颜色=\\033[代码;前景;背景m
如:\\033[1;32;40m表示高亮显示字体为绿色,背景色为黑色(颜色定义见本文前面的表格)
注意:
要将全部非打印字符用专用的 bash 转义序列 "\\["和 "\\]"括起来。这两个序列通知 bash,被括起来的字符不占用行上的任何空间,这样就使自动换行能够继续正常工作。
这点很关键要不然等你设好了颜色,你的终端换行会乱七八糟
现在对上边的PS1变量进行颜色的设置,即在需要更改颜色的地方插入颜色值,比如我们让用户名以红色显示的命令应该是:
PS1=\'\\[\\033[1;31;40m\\]\\u@\\h:\\w\\$ \'
可以看到,在文件中有一句调用/etc/bash.bashrc文件的代码,所以可以推断,前文所说的profile文件自动加载bash.bashrc 文件,事实上就是由代码实现的,于是我们同样地可以在这里添加一句新的代码,以使profile自动加载用户的.bashrc文件,以此实现我们不需每次 打开终端都要source的需求。
alias其实是相当于一个命令引用的东西,例如最后一句,每当你在终端里边输入ls命令,终端会根据.bashrc文件中的alias的设置查找到引用 的命令:ls --color=auto,所以你每次输入“ls”其实就相当于输入了“ls --color=auto”,而这句命令的作用是显示当前目录的可见文件,并且以颜色区分不同类型的文件,比如文件夹和普通文件。
以上是关于终端颜色设置的主要内容,如果未能解决你的问题,请参考以下文章