Linux终端下的颜色设置

Linux终端下的颜色设置
2008-10-30 shell, 3
(转载请说明出处)

参考Nico Golde牛牛的文章发挥:

    在 ANSI 兼容终端(例如 xterm、rxvt、konsole 等)里, 可以用彩色显示文本而不仅仅是黑白。 本文示范了如何使用粗体和彩色的文字。

    相信每一位Linux使用者都要面对 Bash。 虽然第一眼看上去非常枯燥,但是又很多方法能够让你的 shell 足够的个性化。 shell 提示符的彩色增强让能够让你的 shell 独一无二, 而且还非常清晰易读。

在本文中我以 Bash shell 为例。因为在不同的终端里的转义序列不完全相同, 所以在本文中我使用的是 ANSI 终端。

  shell 彩色配置出现在 bash 的个人配置文件 ~/.bashrc 或者是全局配置文件 /etc/bashrc 里面。 可以通过bashrc 里面的 PS1 变量来设置提示符的外观。

一般默认的情况下.bashrc里面应该是:

                 ~/.bashrc

                  export    PS1=' \u@\h:\w\$ '

                  上面的意思是:用户@主机:当前目录 $

                   -->这也是大家都非常熟悉的shell提示符 。

转义序列

要是通过彩色化提示符来增加个性化,就要用到转义序列。 转义序列就是一个让 shell 执行一个特殊步骤的控制指令。 转义序列通常都是以 ESC 开头(这也是它的命名原因)。 在 shell 里表示为 ^[ .这种表示法需要一点时间去适应, 也可以用 \033 完成相同的工作(ESC 的 ASCII 码用十进制表示就是 27,等于用八进制表示的 033)。

要直接在 shell 里面输入转义序列我们需要先按 ctrl-v:CTRL-v ESC。

下面进入主题,说下该如何用shell的颜色。我用我自己的shell颜色设置详细说明.



代码:

        PS1="\[\033[1;32;40m[\033[0;32;40m\u@\h:\033[1;35;40m\w\033[1;32;40m]\033[1;31;40m\$\033[1;32;40m \]"

最外边的"\[    \]"是为了把转义序列的字符串括起来,防止转义序列的文本显示在 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[1;32;40m[

                                               ----> 定义最右边的" [ " ;1:字体宽度,好像有加亮功能。

                                                                                              32:字符颜色。32表示绿色。

                                                                                              40:背景色,40表示黑色。

                \033[0;32;40m\u@\h:

                                                --------->定义右边的 \u@\h:  这几个字符颜色。

                                                                                            0: 默认字体宽度。

                                                                                             32:字符颜色。绿色。

                                                                                             40:  背景颜色。黑色。

                   \033[1;35;40m\w

                                                  ---------> 定义右边的 \w  (路径颜色) 。

                                                                                             1:字符宽度。加亮。

                                                                                             35:字符颜色。洋红。

                                                                                             40:背景色。黑色。

                     \033[1;32;40m]

                                                  ---------> 定义右边的  ]  字符。跟前面的   [   字符使用同一效果。

                     \033[1;31;40m\$

                                                   ---------> 定义了  $  字符 为红色。转义字符,所以前面加了 \ .

                                                                       颜色都跟前面差不多。相信大家都发现规律了。

                      \033[1;32;40m

                                                  ----------> 这个定义了你在命令行要输入命令显示的颜色。

                       \]"

                                                  -----------> 字符串结束括弧。

这个就是上面例子的详细定义内容。

其实我的是没有关闭颜色转义序列,让自己输入的字符也改变颜色,整天看这黑白屏幕不爽哇!!如果不想改变输入颜色的话,用 \033[0m 关闭转义序列, \033[0m 是 shell 的默认颜色。按照上面的例子来说就是在 \]" 前面加上 \033[0m 即可。

够简单吧?

看看root下的shell:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Linux终端中,可以使用ANSI转义序列来设置字体颜色。具体方法如下: 1. 设置前景色(即字体颜色): \033[30m 黑色 \033[31m 红色 \033[32m 绿色 \033[33m 黄色 \033[34m 蓝色 \033[35m 紫色 \033[36m 青色 \033[37m 白色 2. 设置背景色: \033[40m 黑色 \033[41m 红色 \033[42m 绿色 \033[43m 黄色 \033[44m 蓝色 \033[45m 紫色 \033[46m 青色 \033[47m 白色 例如,要将字体颜色设置为红色,可以在终端中输入: echo -e "\033[31mHello World!\033[m" 其中,\033[31m表示设置字体颜色为红色,\033[m表示恢复默认颜色。 ### 回答2: 在Linux终端中,我们可以通过修改字体的颜色来增加终端的可读性或美观度。以下是一些常用的方法: 1. 通过ANSI转义序列来设置颜色 ANSI转义序列是一系列控制码,用于改变文本输出的颜色、背景、样式等。在终端中,我们可以使用ANSI转义序列来设置文本的前景色和背景色。 例如,使用以下命令设置字体颜色为红色: ``` echo -e "\033[31mThis is red text\033[0m" ``` 其中,`\033[31m`表示将接下来的文本颜色设置为红色,`\033[0m`表示将文本颜色恢复为默认颜色。其他常用颜色对应的代码如下: | 颜色 | 前景色 | 背景色 | |---|---|---| | 黑色 | \033[30m | \033[40m | | 红色 | \033[31m | \033[41m | | 绿色 | \033[32m | \033[42m | | 黄色 | \033[33m | \033[43m | | 蓝色 | \033[34m | \033[44m | | 紫色 | \033[35m | \033[45m | | 青色 | \033[36m | \033[46m | | 白色 | \033[37m | \033[47m | 2. 修改终端的配置文件 在Linux下,我们可以通过修改终端的配置文件来设置终端的字体、颜色、光标等外观特性。在GNOME Terminal中,配置文件为`~/.config/gtk-3.0/gtk.css`。在该文件中,我们可以使用CSS样式来设置终端的外观。 例如,使用以下代码设置终端的背景色为灰色,字体颜色为白色: ```css TerminalWindow, vte-terminal { background-color: #2b2b2b; color: #ffffff; } ``` 3. 使用终端配色方案 除了手动设置颜色之外,我们还可以使用终端配色方案来快速设置终端的外观。在Linux下,常用的终端配色方案有Solarized、Dracula、Monokai等。 例如,在GNOME Terminal中,我们可以通过在“首选项”中选择“配色方案”来加载预设的配色方案。如果需要自定义配色方案,可以通过安装`gnome-terminal-colors-solarized`等工具来实现。 总之,无论是使用ANSI转义序列、修改终端配置文件还是使用配色方案,设置终端字体颜色都是很容易实现的。有了好的字体配色,我们可以更愉快地使用终端,提高工作效率。 ### 回答3: 在Linux终端中,我们可以通过设置字体颜色来改变终端的外观。下面介绍几种常用的设置方式。 一、直接使用ANSI转义序列 ANSI转义序列指的是一些特殊的字符序列,可以在终端中展示不同的颜色和样式。具体格式为:\033[显示方式;前景色;背景色m 其中,显示方式、前景色和背景色的值可以对应不同的颜色效果,具体值如下: 显示方式:0默认,1高亮,4下划线,5闪烁,7反显 前景色:30黑,31红,32绿,33黄,34蓝,35紫,36深绿,37白色 背景色:40黑,41红,42绿,43黄,44蓝,45紫,46深绿,47白色 例子: echo -e "\033[31mThis is red text\033[0m" 该命令将输出红色的"This is red text" 二、修改终端配置文件 Step 1:打开终端,输入命令:vi ~/.bashrc Step 2:找到以下两行 PS1=’\h:\w\$ ’ unset color_prompt force_color_prompt Step 3:修改成如下内容 PS1=’\[\e[1;31m\]\h:\w\$ \[\e[m\]’ unset color_prompt force_color_prompt Step 4:保存,退出,输入命令:source ~/.bashrc 其中,\[\e[1;31m\]指定字体为红色,\[\e[m\]则关闭颜色设置。 三、使用Zsh Zsh是一个功能强大的终端Shell,提供了许多自定义设置选项,可以通过修改~/.zshrc文件来设置颜色。 Step 1:打开终端,输入命令:vi ~/.zshrc Step 2:在文件末尾添加以下内容 export PS1="%F{red}%n@%m%f:%F{blue}%~%f%% " Step 3:保存,退出 其中,%F{red}指定字体为红色,%F{blue}指定字体为蓝色。 以上就是几种常用的Linux终端字体颜色设置方式,不同的设置方式有不同的适用场景,可以根据个人需要选择合适的设置方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值