文档章节

通过printf设置Linux终端输出的颜色和显示方式

andrew810810
 andrew810810
发布于 2016/12/09 16:38
字数 530
阅读 162
收藏 0

参考:

http://www.cnblogs.com/clover-toeic/p/4031618.html

http://www.cnblogs.com/luoxu34/p/5239675.html

 

linux终端输出颜色和显示方式

终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能。

和具体的语言无关,所以C语言中的 printf/fprintf 函数也可以这样使用。

本文最重要的一句话,所有的问题都在这里,看明白了就知道怎么改变文本的显示方式了:

\033[显示方式;前景色;背景色m

把\033换成\e是一样的:

\e[显示方式;前景色;背景色m

解释:

颜色的转义序列是以 ESC 开头

显示方式:

0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、5(闪烁)、25(非闪烁)、7(反显)、27(非反显)

前景色:

30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋红)、36(青色)、37(白色)

背景色:

40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋红)、46(青色)、47(白色)

\033[0m表示默认,可以关闭前边设置的任何效果

\033[ 的其他格式

 \033[nA   光标上移n行 
\03[nB    光标下移n行 
\033[nC   光标右移n行 
\033[nD   光标左移n行 
\033[y;xH 设置光标位置 
\033[2J   清屏 
\033[K    清除从光标到行尾的内容 
\033[s    保存光标位置 
\033[u    恢复光标位置 
\033[?25l 隐藏光标 
\33[?25h  显示光标

 

为了人性化地在 printf 函数中进行着色输出,可以定义成一系列的宏。

#define NONE                 "\e[0m"
#define BLACK                "\e[0;30m"
#define L_BLACK              "\e[1;30m"
#define RED                  "\e[0;31m"
#define L_RED                "\e[1;31m"
#define GREEN                "\e[0;32m"
#define L_GREEN              "\e[1;32m"
#define BROWN                "\e[0;33m"
#define YELLOW               "\e[1;33m"
#define BLUE                 "\e[0;34m"
#define L_BLUE               "\e[1;34m"
#define PURPLE               "\e[0;35m"
#define L_PURPLE             "\e[1;35m"
#define CYAN                 "\e[0;36m"
#define L_CYAN               "\e[1;36m"
#define GRAY                 "\e[0;37m"
#define WHITE                "\e[1;37m"

#define BOLD                 "\e[1m"
#define UNDERLINE            "\e[4m"
#define BLINK                "\e[5m"
#define REVERSE              "\e[7m"
#define HIDE                 "\e[8m"
#define CLEAR                "\e[2J"
#define CLRLINE              "\r\e[K" //or "\e[1K\r"

 

© 著作权归作者所有

共有 人打赏支持
andrew810810
粉丝 3
博文 141
码字总数 117648
作品 0
朝阳
私信 提问
如何在Linux终端里用Shell和C输出带颜色的文字(转)

原文:http://blog.csdn.net/acmee/article/details/6613060 我们知道,使用ls命令列出文件列表时,不同的文件类型会用不同的颜色显示。那么如何实现这样带颜色的文本输出呢?答案并不复杂,...

acmfly
2013/08/03
0
0
linux一搏(打印)---高手勿喷

linux中打印有echo和printf 一、echo echo是用于终端打印的基本命令,默认情况下,echo会在每次调用后添加一个换行符。如果要忽略换行,可以echo后面,字符窜之前加上"-n". echo后面打印的内...

益达先生
2013/02/05
0
0
Linux终端彩色打印+终端进度条

开发的一个应用程序选择了终端界面, 为了使软件稍微好看些, 研究下Linux终端的彩色打印, 并且基于这个彩色打印实现了几种进度条, 在此总结下: (更多的是觉得这个东西挺好玩的... ) 一. Linux...

狮子的魂
2013/11/21
0
7
修改linux环境变量使终端命令行颜色和样式改变

修改linux终端命令行颜色   1.PS1   要修改linux终端命令行颜色,我们需要用到PS1,PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。在终端输入命令:#set,即可在输出中...

Forande
06/26
0
0
linux之printk和printf的区别

大部分常用的C库函数在Linux内核中都已经得到了实现。在所有没有实现的函数中,最著名的就数printf()函数了。内核代码虽然无法调用 printf()函数,但它可以调用printk()函数。printk()函数负...

shenhuan1104
2017/09/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

特斯拉车主成功破解了自己Model 3汽车

据汽车博客Electrek消息,一位特斯拉车主成功破解了自己Model 3汽车,还在此基础上运行了Ubuntu。 这位叫trsohmers的网友表示,“功劳大多要归到Ingineerix的头上,他花了数月才找到初始的那...

linuxCool
11分钟前
0
0
Gitbook : random errors when using gitbook plugin on running "gitbook serve"

在执行gitbook serve时,会有不定的失败错误 参考问题 :#1309 解决方案: 更新gitbook版本,这个问题似乎是3版本的问题 , 官方也不打算在这个版本解决了。 更新 到最新版本后, 不再出现问...

ol_O_O_lo
26分钟前
0
0
提灯照暗,向内自省——《中国文化的深层结构》读书笔记3800字

提灯照暗,向内自省——《中国文化的深层结构》读书笔记3800字: 作者:王健茜;断断续续一个多月才读完了《中国文化的深层结构》,这并不是一本难懂的书,之所以读得慢,源于对书中观点的思...

原创小博客
28分钟前
0
0
高德地图-行政区域接口

1、获取全国各省信息 https://restapi.amap.com/v3/config/district?extensions=all&key=应用Key&s=rsv3&output=json 2、获取下级行政区域信息 https://restapi.amap.com/v3/config/distric......

voole
40分钟前
3
0
集群介绍 ..

12月19日任务 18.1 集群介绍 18.2 keepalived介绍 18.3/18.4/18.5 用keepalived配置高可用集群 一.集群介绍 根据功能划分为两大类:高可用和负载均衡 高可用集群通常为两台服务器,一台工作,...

hhpuppy
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部