linux打印字符前3位,如何在Linux终端上输出彩色文字

Linux 终端支持使用特殊格式的字符串来表控制终端的颜色输出,通常这种用法常用于各类编程语言中(各类编程语言都可以使用)时使用,例如输出到屏幕的日志文件或有颜色的命令提示符,以便增加整体辨识度。

不只是Linux系统终端支持彩色文字,同时可以在 Windows10 及以上的系统上使用此功能,同时在UNIX和BSD系统上也支持该功能。

需要注意的是,在终端输出颜色依靠于终端的支持度,如果终端支持的功能,那么最终可以显示的字符格式就会非常有限。

Linux支持有以下几个终端标准:VT102

ECMA-48

ISO 6429

ANSI X3.64

本文主要讲解ECMA-48中的颜色显示功能使用。还有其他的功能,可以查询man console_codes来获取帮助信息。

格式如下:"\e[ColorOptions{;ColorOptions..}m"

# 其中 ColorOptions为 下面 二级标题 ColorOptions 中的数值。

# 其中{} 表示可选,也就是说,ColorOptions中的参数可以不止一个

# 同时 ColorOptions 中的数值组合并没有任何前后要求

例如:echo -e '\e[94m https://www.somata.work/ \e[0m'

echo -e '\e[93;4m https://www.somata.work/ \e[0m'

b8e118a6dff95fcfbf94f7a5e3466a03.png

在程序日志中使用:

2cf19a3644453706132a3c441a352502.png

将命令提示符添加上颜色:PS1='[\[\033[01;31m\]\u@\h\[\033[00m\] \[\033[01;34m\]\W\[\033[00m\]]\$ '

# 注: 由于在声明变量的时候会改变原字符含义,所以这里再 [ 上也需要添加 \ 。

# 最终效果如上图中命令提示符。

ColorOptions数值作用备注0重置关闭所有属性

1粗体

2弱化未广泛使用

3斜体

4下划线

5缓慢闪烁低于每分钟150次

6快速闪烁每分钟150次以上

7反显前景色和背景色调换

8隐藏未广泛使用

9划除

10主字体

11-19替换字体备用字体(Linux中无法使用,并且可能导致乱码的风险)

20尖角体几乎无任何支持

21关闭粗体

22正常颜色或强度

23非斜体、非尖角体

24关闭下划线

25关闭闪烁

27关闭反显

28关闭影藏

29关闭划除

30-37设置前景色参见颜色表

38设置前景色设置256位的RGB颜色(参见脚本中的样例)

39默认前景色

40-47设置背景色参见颜色表

48设置背景色设置256位的RGB颜色(参见脚本中的样例)

49默认背景色

51Framed

52Encircled

53上划线未广泛支持

54Not Framed or encircled

55关闭上划线

60表意文字下环线或右边线几乎不支持

61表意文字双下划线或双右边线几乎不支持

62表意文字上划线或左边线几乎不支持

63表意文字双上划线或双左边线几乎不支持

64表意文字着重标指几乎不支持

65表意文字属性关闭

90-97设置前景色未遵循任何标准,所以每个终端都将有所不同

100-107设置背景色未遵循任何标准,所以每个终端都将有所不同

颜色表名称前景色值背景色值颜色黑304035b6738991303b070a852ff69f5a8343.png

红3141c5b6558056d0fcb75d733d0d1cf6b0cf.png

绿32423b90264afb4ac681d218b53a96894a6b.png

黄3343174a3effe268912e76aee1b5376e07de.png

蓝3444372dab5967dad2391fc1ab597ad10c0c.png

品红35450279370a83a27b4fab46bf70e6e84b15.png

青3646ce698ade071179e61122a59d0a525a39.png

白37477747f195bb432c98a58589f258fd760b.png

亮黑(灰)9010083e0f538d815ed69d7342b83c5bc6d5f.png

亮红911014df39e88108138daed67cda7223d8868.png

亮绿921025cfd729137398a584fad2446bcac69d2.png

亮黄93103a4d02b69c247aac5ebeae51a19ac5ad1.png

亮蓝94104fd0e0f6f2628a280f11dd2799fdff5a2.png

亮品红95105873153b913ff18d895f45ba3938eff7a.png

亮青96106c02d2f84f2ecacee3b9db822526909a7.png

亮白9710772c7f3b3321fa064b80fbc218ef7f054.png

快速查询颜色的脚本

ColorOptions 中的实现#!/usr/bin/bash

# 注: 次脚本请勿再Linux终端使用,会导致终端乱码,只能通过重启解决。

# 最好使用 xshell 或 putty 终端中使用。

for i in {0..255};do

printf "\e[%sm %3s\t \e[0m" $i $i

if [ $((($i + 1) % 6)) == 4 ] ; then

echo

fi

done

在 Linux终端下执行:

aaa9b52fde56cf1cbfa7644182613a6c.png

在 xshell 终端下的执行:

a231a5aea30129980d69d607325f4650.png

256位颜色查询#!/bin/bash

# 次脚本来自 https://misc.flogisoft.com/bash/tip_colors_and_formatting

# 可以在Linux终端和SSH远程连接上尝试,就会发现

# Linux终端(TLI终端)默认支持的颜色种类明显不足

for i in 38 48 ; do

for j in {0..255} ; do

printf "\e[${i};5;%sm %3s \e[0m" $j $j

if [ $((($j + 1) % 6)) == 4 ] ; then

echo

fi

done

done

在Linux终端下执行:

8f9f489eac6810edeccb59f0d3fad3e0.png

在 xshell 下执行:

b8af9ebf7df50f5c78117c24d79d63dc.png

d077ece77b8edfbc04873fcb3867176d.png

本文经「原本」原创认证,作者乾坤盘,访问yuanben.io查询【3LO1LURJ】获取授权信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值