加入收藏 | 设为首页 | 会员中心 | 我要投稿 宜春站长网 (https://www.0795zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

如何改变你的终端颜色

发布时间:2019-09-10 22:18:32 所属栏目:Windows 来源:Seth Kenlon
导读:使 Linux 变得丰富多彩(或单色)。 你可以使用特殊的 ANSI 编码设置为 Linux 终端添加颜色,可以在终端命令或配置文件中动态添加,也可以在终端仿真器中使用现成的主题。无论哪种方式,你都可以黑色屏幕上找回怀旧的绿色或琥珀色文本。本文演示了如何使 L
副标题[/!--empirenews.page--]

如何改变你的终端颜色

使 Linux 变得丰富多彩(或单色)。

你可以使用特殊的 ANSI 编码设置为 Linux 终端添加颜色,可以在终端命令或配置文件中动态添加,也可以在终端仿真器中使用现成的主题。无论哪种方式,你都可以黑色屏幕上找回怀旧的绿色或琥珀色文本。本文演示了如何使 Linux 变得丰富多彩(或单色)的方法。

终端的功能特性

现代系统的终端的颜色配置通常默认至少是 xterm-256color,但如果你尝试为终端添加颜色但未成功,则应检查你的 TERM 设置。

从历史上看,Unix 终端从字面上讲是:用户可以输入命令的共享计算机系统上实际的物理端点(终点)。它们专指通常用于远程发出命令的电传打字机(这也是我们今天在 Linux 中仍然使用 /dev/tty 设备的原因)。终端内置了 CRT 显示器,因此用户可以坐在办公室的终端上直接与大型机进行交互。CRT 显示器价格昂贵 —— 无论是制造还是使用控制;比担心抗锯齿和现代计算机专家理所当然认为的漂亮信息,让计算机吐出原始 ASCII 文本更容易。然而,即使在那时,技术的发展也很快,很快人们就会发现,随着新的视频显示终端的设计,他们需要新的功能特性来提供可选功能。

例如,1978 年发布的花哨的新 VT100 支持 ANSI 颜色,因此如果用户将终端类型识别为 vt100,则计算机可以提供彩色输出,而基本串行设备可能没有这样的选项。同样的原则适用于今天,它是由 TERM 环境变量设定的。你可以使用 echo 检查你的 TERM 定义:

  1. $ echo $TERM
  2. xterm-256color

过时的(但在一些系统上仍然为了向后兼容而维护)/etc/termcap 文件定义了终端和打印机的功能特性。现代的版本是 terminfo,位于 /etc/usr/share 中,具体取决于你的发行版。 这些文件列出了不同类型终端中可用的功能特性,其中许多都是由历史上的硬件定义的,如 vt100 到 vt220 的定义,以及 xterm 和 Xfce 等现代软件仿真器。大多数软件并不关心你使用的终端类型; 在极少数情况下,登录到检查兼容功能的服务器时,你可能会收到有关错误的终端类型的警告或错误。如果你的终端设置为功能特性很少的配置文件,但你知道你所使用的仿真器能够支持更多功能特性,那么你可以通过定义 TERM 环境变量来更改你的设置。你可以通过在 ~/.bashrc 配置文件中导出 TERM 变量来完成此操作:

  1. export TERM=xterm-256color

保存文件并重新载入设置:

  1. $ source ~/.bashrc

ANSI 颜色代码

现代终端继承了用于“元”特征的 ANSI 转义序列。这些是特殊的字符序列,终端将其解释为操作而不是字符。例如,此序列将清除屏幕,直到下一个提示符:

  1. $ printf '33[2J'

它不会清除你的历史信息;它只是清除终端仿真器中的屏幕,因此它是一个安全且具有示范性的 ANSI 转义序列。

ANSI 还具有设置终端颜色的序列。例如,键入此代码会将后续文本更改为绿色:

  1. $ printf '33[32m'

只要你对相同的计算机使用同一个颜色,就可以使用颜色来帮助你记住你登录的系统。例如,如果你经常通过 SSH 连接到服务器,则可以将服务器的提示符设置为绿色,以帮助你一目了然地将其与本地的提示符区分开来。 要设置绿色提示符,请在提示符前使用 ANSI 代码设置为绿色,并使用代表正常默认颜色的代码结束:

  1. export PS1=`printf "33[32m$ 33[39m"`

前景色和背景色

你不仅可以设置文本的颜色。使用 ANSI 代码,你还可以控制文本的背景颜色以及做一些基本的样式。

例如,使用 33[4m,你可以为文本加上下划线,或者使用 33[5m 你可以将其设置为闪烁的文本。起初这可能看起来很愚蠢,因为你可能不会将你的终端设置为所有文本带有下划线并整天闪烁, 但它对某些功能很有用。例如,你可以将 shell 脚本生成的紧急错误设置为闪烁(作为对用户的警报),或者你可以为 URL 添加下划线。

作为参考,以下是前景色和背景色的代码。前景色在 30 范围内,而背景色在 40 范围内:

还有一些可用于背景的其他颜色:

持久设置

在终端会话中设置颜色只是暂时的,相对无条件的。有时效果会持续几行;这是因为这种设置颜色的方法依赖于 printf 语句来设置一种模式,该模式仅持续到其他设置覆盖它。

终端仿真器通常获取使用哪种颜色的指令的方式来自于 LS_COLORS 环境变量的设置,该设置又由 dircolors 的设置填充。你可以使用 echo 语句查看当前设置:

  1. $ echo $LS_COLORS
  2. rs=0:di=38;5;33:ln=38;5;51:mh=00:pi=40;
  3. 38;5;11:so=38;5;13:do=38;5;5:bd=48;5;
  4. 232;38;5;11:cd=48;5;232;38;5;3:or=48;
  5. 5;232;38;5;9:mi=01;05;37;41:su=48;5;
  6. 196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;
  7. 196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;
  8. [...]

(编辑:宜春站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读