设为首页 收藏本站
查看: 800|回复: 0

[经验分享] linux console 显示颜色【转】

[复制链接]

尚未签到

发表于 2017-11-17 17:43:19 | 显示全部楼层 |阅读模式
  http://blog.csdn.net/hejinjing_tom_com/article/details/12162491

引言: 由于在c代码中看到过打印彩色字, 又对PS1 想进一步了解,才有了这篇博文。

Linux 终端控制台字体颜色
  Linux 终端控制台字体颜色,用到一个 转义序列
  
\e[F;B;Om
  
\e 转义字符开始,ESC 的 ASCII 码用十进制表示就是 27,等于用八进制表示的 033。
  \e 或 \033 声明了转义序列的开始,
  
[ 开始定义颜色。
  
'F' 为字体颜色,编号30~37;
  
'B' 为背景色,编号40~47。
  
'O' 为特殊意义代码
  
它们的顺序没有关系。
  
m 是标记
  
m 后面不用跟空格,是所定义的彩色字和背景
  
颜色表
  
前景 背景颜色
  
-------------------------
  
30 40 黑色
  
31 41 红色
  
32 42 绿色
  
33 43 黄色
  
34 44 蓝色
  
35 45 洋红
  
36 46 青色
  
37 47 白色
  

特别代码意义  
-------------------------
  
0 OFF
  
1 高亮显示
  
4 underline
  
5 闪烁
  
7 反白显示
  
8 不可见
  

  应用1:解释带颜色的PS1
  
PS1="
  
\e[32m
  
[\u@\h \w]$
  
\e[m
  
"
  
解释:
  
为成组表示
  
定义[\u@\h \w]$ 为前景色绿色。 然后恢复默认设置。
  应用2:用控制台输出彩色字或彩色背景
  
echo -e "\033[34;1mthis is high lighted blue \033[0m"
  
c 代码: printf("\033[34;1mthis is high lighted blue \033[0m\n" );
  
尾部的\033[0m 恢复了系统默认颜色
  直到我看过了echo 程序的源码, 才对echo -e 的输出有了更深的理解。
  
那个双引号" 是bash分辨词素的标记,这样可以在双引号中加空格,整个双引号内容(不含双引号本省)被当做一个argv传递。
  
echo -e 还支持回车,换行,tab,响铃,垂直分割线以及16进制字符数据(\x## 2bytes)。
  
当然,上句的printf, 更是简单的字符串照印了,注意了,\033 可是8进制数据,代表一个27 字符
  
下面看几个例子:
  echo -e "\033[30m 黑色字 \033[0m"
  
echo -e "\033[31m 红色字 \033[0m"
  
echo -e "\033[32m 绿色字 \033[0m"
  
echo -e "\033[33m 黄色字 \033[0m"
  
echo -e "\033[34m 蓝色字 \033[0m"
  
echo -e "\033[35m 紫色字 \033[0m"
  
echo -e "\033[36m 天蓝字 \033[0m"
  
echo -e "\033[37m 白色字 \033[0m"
  echo -e "\033[40;37m 黑底白字 \033[0m"
  
echo -e "\033[41;37m 红底白字 \033[0m"
  
echo -e "\033[42;37m 绿底白字 \033[0m"
  
echo -e "\033[43;37m 黄底白字 \033[0m"
  
echo -e "\033[44;37m 蓝底白字 \033[0m"
  
echo -e "\033[45;37m 紫底白字 \033[0m"
  
echo -e "\033[46;37m 天蓝底白字 \033[0m"
  
echo -e "\033[47;30m 白底黑字 \033[0m"

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-407986-1-1.html 上篇帖子: Linux平台上DPDK入门指南 下篇帖子: Linux中main是如何执行的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表