在 Linux 命令行中自定义文本颜色

如果你在 Linux 命令行上花费了大量的时间(如果没有,那么你可能不会读这篇文章),你无疑注意到了 ls 以多种不同的颜色显示文件。你可能也注意到了一些区别 —— 目录是一种颜色,可执行文件是另一种颜色等等。

在 Linux 命令行中自定义文本颜色

这一切是如何发生的呢?以及,你可以选择哪些选项来改变颜色分配可能就不是很多人都知道的。

一种方法是运行 dircolors 命令得到一大堆展示了如何指定这些颜色的数据。它会显示以下这些东西:

如果你擅长解析文件,那么你可能会注意到这个列表有一种模式patten。用冒号分隔开,你会看到这样的东西:

OK,这里有一个模式 —— 一系列定义,有一到三个数字组件。我们来看看其中的一个定义。

有些人可能会问的第一个问题是“pi 是什么?”在这里,我们研究的是颜色和文件类型,所以这显然不是以 3.14 开头的那个有趣的数字。当然不是,这个 “pi” 代表 “pipe(管道)” —— Linux 系统上的一种特殊类型的文件,它可以将数据从一个程序传递给另一个程序。所以,让我们建立一个管道。

当我们在终端窗口中查看我们的管道和其他几个文件时,颜色差异非常明显。

在 Linux 命令行中自定义文本颜色

pi 的定义中(如上所示),“40” 使文件在终端(或 PuTTY)窗口中使用黑色背景显示,31 使字体颜色变红。管道是特殊的文件,这种特殊的处理使它们在目录列表中突出显示。

bdcd 定义是相同的 —— 40;33;01,它有一个额外的设置。这个设置会导致 块设备block device(bd)和 字符设备character device(cd)以黑色背景,橙色字体和另一种效果显示 —— 字符将以粗体显示。

以下列表显示由文件类型file type所指定的颜色和字体分配:

你可能已经注意到,在 dircolors 命令输出中,我们的大多数定义都以星号开头(例如,*.wav=00;36)。这些按文件扩展名file extension而不是文件类型定义显示属性。这有一个示例:

这些设置(上面列表中所有的 00;36)将使这些文件名以青色显示。可用的颜色如下所示。

在 Linux 命令行中自定义文本颜色

如何改变设置

你要使用 ls 的别名来打开颜色显示功能。这通常是 Linux 系统上的默认设置,看起来是这样的:

如果要关闭字体颜色,可以运行 unalias ls 命令,然后文件列表将仅以默认字体颜色显示。

你可以通过修改 $LS_COLORS 设置和导出修改后的设置来更改文本颜色

注意:上面的命令由于太长被截断了。

如果希望文本颜色的修改是永久性的,则需要将修改后的 $LS_COLORS 定义添加到一个启动文件中,例如 .bashrc

更多关于命令行文本

你可以在 NetworkWorld 的 2016 年 11 月的帖子中找到有关文本颜色的其他信息。

via: https://www.networkworld.com/article/3269587/linux/customizing-your-text-colors-on-the-linux-command-line.html

原创文章,作者:飞鱼小岛主,如若转载,请注明出处。

联系我们

025-6604-5436

在线咨询:点击这里给我发消息

邮件:863051725@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code