精华内容
下载资源
问答
  • Linux设置终端输出字体颜色

    千次阅读 2019-09-29 01:09:31
    Linux设置终端输出字体颜色 0x01 终端配色方法简介 使用\033[01;04;32;41m之类的配色方案在需要输出显示的文本之前,可以改变应用程序输出文本的颜色或者背景颜色。 #include <stdio.h> int main() { printf...

    Linux设置终端输出字体颜色

    0x01 终端配色方法简介

    使用\033[01;04;32;41m之类的配色方案在需要输出显示的文本之前,可以改变应用程序输出文本的颜色或者背景颜色。

    #include <stdio.h>
    
    int main()
    {
    	printf("\033[01;34m Hello World\033[0m\n");
    	return 0;
    }
    

    上面的01表示加粗,34表示是蓝色,后面\033[0m表示恢复所有的属性为原来的默认值。更多关于颜色的参考,
    http://www.pixelbeat.org/docs/terminal_colours/有非常详细的叙述。也可以把上述的\033字符用\e或者\x1b替换。

    可以采用多种配色方案,比如上面提到的\033[01;04;32;41m,04表示下划线,32表示前景色是绿色,然后41表示背景色是红色。

    由于使用的是Linux系统为终端提供的配色方案,所以该程序不具备移植性。可以看到,该程序在Windows会打印一些奇怪的符号。

    字颜色: 30–39
    30: 黑
    31: 红
    32: 绿
    33: 黄
    34: 蓝
    35: 紫
    36: 深绿
    37: 白色


    字背景颜色范围: 40–49
    40: 黑
    41: 红
    42: 绿
    43: 黄
    44: 蓝
    45: 紫
    46: 深绿
    47: 白色


    ANSI控制码:
    QUOTE:
    /033[0m 关闭所有属性
    /033[1m 设置高亮度
    /03[4m 下划线
    /033[5m 闪烁
    /033[7m 反显
    /033[8m 消隐
    /033[30m – /033[37m 设置前景色
    /033[40m – /033[47m 设置背景色
    /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 显示光标

    0x02 简单的终端颜色改变程序

    #include <unistd.h>
    #include <iostream>
    #include <stdarg.h>
    #include <cstdio>
    #include <string.h>
    #include <stdlib.h>
    
    enum Color {
            BLACK = 30,
            RED = 31,
            GREEN = 32,
            BROWN = 33,
            BLUE = 34,
            MAGENTA = 35,
            CYAN = 36,
            GREY = 37,
            LRED = 41,
            LGREEN = 42,
            YELLOW = 43,
            LBLUE = 44,
            LMAGENTA = 45,
            LCYAN = 46,
            WHITE = 47
    };
    
    
    void set_color(int fd, Color color) {
            char buffer[32];
            snprintf(buffer, sizeof(buffer), "\x1b[%d%sm",
                            color >= LRED ? (color - 10) : color,
                            color >= LRED ? ";1" : ""
                            );
            write(fd, buffer, strlen(buffer));
    }
    
    void reset_color(int fd) {
    	const char* s = "\x1b[0m";
    	write(fd, s, strlen(s));
    }
    
    int main(void)
    {
        int color;
        int count = 0;
        std::cout<<"please input color eum(30 - 47):\t";
        while(1)
        {
    	std::cout << "this is " << count++ << " times..."<<std::endl;
            std::cin>>color;
            if (color >= 30 && color <38 || color >= 40 && color < 48)
            {
                set_color(STDOUT_FILENO, (Color)color);
                std::cout << "set color success...."<<std::endl;
            }
            else if(-1 == color)
            {
                reset_color(STDOUT_FILENO);
                std::cout << "reset_color success...."<<std::endl;
                break;
            }
            else
            {
                std::cout<<"Warning: please input color range [30, 37] [40, 47]"<<std::endl;
            }
        }
        std::cout<<"bye~bye ...."<<std::endl;
        exit(EXIT_SUCCESS);
    }
    

    演示:
    Demo输出

    展开全文
  • C/C++改变终端输出字体的颜色(Linux)例:常用的ANSI控制码如下(有些不支持): 简单的说就是ESC[*m,ESC的八进制为\033,*可以是多个属性的组合,用分号隔开。 例: #include int main() { printf("\033[31...

    C/C++改变终端输出字体的颜色(Linux)

    简单的说就是ESC[*m,ESC的八进制为\033,*可以是多个属性的组合,用分号隔开。

    例:

    #include
    int main()
    {
        printf("\033[31mThis is RED.\n\033[0m");
        // 31m代表字体为红色,0m代表关闭所有属性。
        return 0;
    }
    

    常用的ANSI控制码如下(有些不支持):

    关闭所有属性:\033[0m
    高亮:\033[1m
    亮度减半:\033[2m
    斜体:\033[3m
    下划线:\033[4m
    闪烁:\033[5m
    快闪:\033[6m
    反显:\033[7m
    消隐:\033[8m
    中间一道横线:\033[9m
    关于字体的:10-19
    基本与1-9正好相反:21-29
    设置前景色:30-37
    设置背景色:40-47
    黑:30
    红:31
    绿:32
    黄:33
    蓝色:34
    紫色:35
    深绿:36
    白色:37
    38 打开下划线,设置默认前景色
    39 关闭下划线,设置默认前景色
    40 黑色背景
    41 红色背景
    42 绿色背景
    43 棕色背景
    44 蓝色背景
    45 品红背景
    46 孔雀蓝背景
    47 白色背景
    48 不知道什么东西
    49 设置默认背景色
    50-89 没用
    90-109 又是设置前景背景的,比之前的颜色浅
    \033[nA 光标上移n行
    \033[nB 光标下移n行
    \033[nC 光标右移n行
    \033[nD 光标左移n行
    \033[y;xH设置光标位置
    \033[2J 清屏
    \033[K 清除从光标到行尾的内容
    \033[s 保存光标位置
    \033[u 恢复光标位置
    \033[?25l 隐藏光标
    \033[?25h 显示光标

    展开全文
  • 此方法适用于DOS Linux; mac和unix没测试 printf(&amp;quot;\033[31mThis is RED.\n\033[0m&amp;quot;); cout&amp;amp;lt;&amp;amp;lt;&amp;quot;\033[33mthis is Yellow.\n\033[0m&amp;...

    Windows命令行字符改色方法

    推荐大家使用一个库来控制彩色字符输出
    https://gitee.com/whatitis/ColorfulConsoleIO

    _wsystem(L"color 0a");
    

    设置默认的控制台前景和背景颜色。

    COLOR [attr]

    attr 指定控制台输出的颜色属性

    颜色属性由两个十六进制数字指定 – 第一个为背景,第二个则为
    前景。每个数字可以为以下任何值之一:

    0 = 黑色       8 = 灰色
    1 = 蓝色       9 = 淡蓝色
    2 = 绿色       A = 淡绿色
    3 = 浅绿色     B = 淡浅绿色
    4 = 红色       C = 淡红色
    5 = 紫色       D = 淡紫色
    6 = 黄色       E = 淡黄色
    7 = 白色       F = 亮白色
    

    此方法适用于Linux;

    mac和unix没测试

        printf("\033[31mThis is RED.\n\033[0m"); 
        cout<<"\033[33mthis is Yellow.\n\033[0m"<<endl;
        wcout<<L"\033[33m;47mthis is ?.\n\033[0m"<<endl;
        cout<<"\033[33;47mthis is ?.\n\033[0m"<<endl; 
    

    在这里插入图片描述

    简单的说就是ESC[*m,ESC的八进制为\033,*可以是多个属性的组合,用分号隔开。

    31m代表字体为红色,0m代表关闭所有属性。

    常用的ANSI控制码如下(有些不支持):
    \033[0m 关闭所有属性
    \033[1m 高亮
    \033[2m 亮度减半
    \033[3m 斜体
    \033[4m 下划线
    \033[5m 闪烁
    \033[6m 快闪
    \033[7m 反显
    \033[8m 消隐
    \033[9m 中间一道横线
    10-19 关于字体的
    21-29 基本与1-9正好相反
    30-37 设置前景色
    40-47 设置背景色
    30:黑
    31:红
    32:绿
    33:黄
    34:蓝色
    35:紫色
    36:深绿
    37:白色
    38 打开下划线,设置默认前景色
    39 关闭下划线,设置默认前景色
    40 黑色背景
    41 红色背景
    42 绿色背景
    43 棕色背景
    44 蓝色背景
    45 品红背景
    46 孔雀蓝背景
    47 白色背景
    48 不知道什么东西
    49 设置默认背景色
    50-89 没用
    90-109 又是设置前景背景的,比之前的颜色浅
    \033[nA 光标上移n行
    \033[nB 光标下移n行
    \033[nC 光标右移n行
    \033[nD 光标左移n行
    \033[y;xH设置光标位置
    \033[2J 清屏
    \033[K 清除从光标到行尾的内容
    \033[s 保存光标位置
    \033[u 恢复光标位置
    \033[?25l 隐藏光标
    \033[?25h 显示光标

    展开全文
  • linux终端输出彩色字体

    千次阅读 2011-11-19 19:34:34
    linux终端输出彩色字体(C/SHELL)  2010-12-1622:07:49| 分类:好玩的linux|字号 订阅 这 几天在用libvlc的时候看到它在terminal里面输出彩色字体觉得挺好玩的,以为是用ncurses实现的,后来一查原来...

    linux终端中输出彩色字体(C/SHELL)  

    2010-12-1622:07:49|  分类:好玩的linux|字号 订阅

    这 几天在用libvlc的时候看到它在terminal里面输出彩色字体觉得挺好玩的,以为是用ncurses实现的,后来一查原来用ANSI C的转义字符就可以实现,不过好现只在linux下有效吧,windows神马的貌似不行,把项目终端凌乱的输出信息整理了一下,关键字符也都用彩色显示,看上去舒服多了,写一下用法以防止以后忘了再去查。

    先把控制码列出来(从网上搜来的):

     \033[0m               关闭所有属性
     \033[1m               设置高亮度
     \033[4m               下划线
     \033[5m               闪烁
     \033[7m               反显
     \033[8m               消隐
     \033[30m----\33[37m 设置前景色
     \033[40m----\33[47m 设置背景色
     \033[nA               光标上移n行
     \033[nB               光标下移n行
     \033[nC               光标右移n行
     \033[nD               光标左移n行
     \033[y;xH             设置光标位置
     \033[2J               清屏
     \033[K                清除从光标到行尾的内容
     \033[s                保存光标位置
     \033[u                恢复光标位置
     \033[?25l             隐藏光标
     \033[?25h             显示光标
    背景色:40:黑 41:深红 42:绿43:黄色 44:蓝色45:紫色46:深绿47:白色
    
    前景色:
    30:黑 31:红 32:绿 33:黄 34:蓝色 35:紫色 36:深绿 37:白色

    控制字符是打开某种样式,输出完成时需要再关闭样式才能使terminal恢复到原来状态,简单例子:

    printf("\e[32m%s\e[0m\n", "hello world");
    

    \033\e是一回事,使用\e会更简单一些,输出为绿色字体,如下图:

    \e[32m为打开绿色前景色样式,\e[0m为关闭所有样式,如果未关闭,则所有输出字体均为绿色前景色,如下代码:

     printf("\e[32m%s\e[0m\n", "hello world");
    

    输出效果如下:

    绿色高亮代码如下:

    printf("\e[32m\e[1m%s\e[0m\n", "hello world");
    

    输出效果如下:

    另外光标移动的控制码在输出类似于下载进度的信息时用得到。

    在shell中也可以直接用echo输出,需要加-e选项打开转义字符解释,如输出高亮的绿色字体为:

    echo -e "\e[32m\e[1mhello world\e[0m"
    

    其它的我也没怎么看,觉得也就改变字体颜色和移动光标位置能用得到,觉得挺好玩的就写下来以后忘了查一查。

    原创文章,转载请注明: 转载自basic coder

    本文链接地址: http://basiccoder.com/output-colorful-words-in-terminal.html


    展开全文
  • 使用\033[01;04;32;41m之类的配色方案在需要输出显示的文本之前, ...可以改变应用程序输出文本的颜色或者背景颜色。 color_hello.c #include int main() { printf("\033[01;34m Hello World\033
  • 改变linux终端颜色

    千次阅读 2016-11-21 08:24:23
    改变linux终端颜色对于兼容ANSI的终端,如xterm、rxvt、konsole等,可以彩色显示终端文本中的底色或前景颜色,本文将详细讨论如何实现随意修改和定制这些终端的颜色。每个Linux用户几乎天天都会面对Bash,刚接触...
  • 终端写命令clear和top时,出现:'linux':unknown terminal type这是由于终端显示类型不明确造成的,可以通过命令:export $TERM="你的终端类型" 改变你的终端显示,但是造成这种错误的原因往往是由于丢失了显示...
  • 相关的知识实现的原理并不复杂,借助了Linux的 ANSI 颜色控制序列,只要在打印输出的过程中使用这些序列,就能做到彩色的字符、背景色输出,以及控制光标在打印时的位置。简单的代码示例以下代码都在树莓派的...
  • Linux终端程序用c语言实现改变输出的字的颜色  格式: echo "\033[字背景颜色;字体颜色m字符串\033[0m" 例如: echo "\033[41;36m something here \033[0m" 其中41的位置代表底色, 36的位置是代表字的...
  • linux终端输出彩色字体(C/SHELL)

    千次阅读 2013-09-14 18:09:12
    以为是用ncurses实现的,后来一查原来用ANSI C的转义字符就可以实现,不过好现只在linux下有效吧, windows神马的貌似不行,把项目终端凌乱的输出信息整理了一下,关键字符也都用彩色显示,看上去舒服多了,写一下...
  • 格式: echo "\033[字背景颜色;字体颜色m字符串\033[0m" 例如: echo "\033[41;36m something here \033[0m"  ...其中41的位置代表底色, 36的位置是代表字的颜色 ...那些ascii code 是对颜色调用的始末....
  • 在使用一个终端(例如iterm2)打开一个ssh连接之后,如果改变终端窗口大小,这时候shell输出和终端大小会不匹配。这时候执行命令 /usr/bin/resize 或者直接 resize 就可以让shell自适应当前窗口 参考链接 ...
  • 代表要追加要输出的文件,不改变原文件的内容 例如:利用符号"&gt;" 打印当前的路径,并将结果记录到 pwd.txt文件中。 如果存在pwd文件,将重写该文件, 利用符号 "&gt;&gt;&...
  • 不同颜色的输出主要依据格式ESC[*m,ESC的八进制为\033,*可以是多个属性的组合,用“,”隔开。例如下列: 1 printf 输出红色自体 #include <iostream> using namespace std; int main() { printf("\033[**...
  • linux更改终端颜色 您可以使用特殊的ANSI编码设置在Linux终端中添加颜色,可以在终端命令或配置文件中动态添加颜色,也可以在终端仿真器中使用现成的主题。 无论哪种方式,黑色屏幕上的怀旧绿色或琥珀色文字都是完全...
  • linux更改终端颜色 如果您一整天都在盯着航站楼,那么让它看起来很讨人喜欢是很自然的。 情人眼前一亮,自CRT串行控制台问世以来,终端已经走了很长一段路。 因此,您的软件终端窗口有很多选项可以使您看到的内容...
  • 可以改变应用程序输出文本的颜色或者背景颜色。 color_hello.c #include int main() { printf("\033[01;34m Hello World\033[0m\n"); return 0; } 上面的01表示加粗,34表示是蓝色,后面\033[0m表示恢复
  • Linux_终端命令大全

    千次阅读 2017-01-19 17:15:57
    本文为转载的Linux终端命令大全。
  • linux虚拟终端

    千次阅读 2019-03-04 09:47:32
    1)tty命令 查看当前进程使用哪个终端 2)/dev/console是系统控制终端,console指向激活的那个tty,一般情况下/dev/console是指向/dev/tty0,在嵌入式机上console=ttyS0=串口 3)/dev/tty0是对应当前的虚拟控制台...
  • Linux系统终端常用指令命令汇总

    万次阅读 多人点赞 2018-07-20 17:37:39
    命令 功能说明 线上查询及帮助命令 man ... 查看命令帮助,命令... 查看Linux内置命令的帮助,比如cd命令。 文件和目录操作命令 ls 全拼list,功能...
  • 改变linux输出字体颜色,样式 [root@localhost charsets]# echo -e "\033[32;49;1m [DONE] \033[39;49;0m"  [DONE]  文本终端的颜色可以使用“ANSI非常规字符序列”来生成。举例:  echo -e "\033[44;37;...
  • Linux 终端终端登录过程简介

    千次阅读 2013-10-14 11:40:20
    Linux 终端终端登录过程简介    shell是系统的用户界面,它提供了用户与内核交互的接口。它接收用户输入的命令并把它送入内核执行,再将执行结果显示给用户。   Linux终端使用基础:  显示器和键盘合...
  • Linux内核如何输出中文字符

    千次阅读 多人点赞 2019-05-18 08:29:19
    你在Windows/MacOS的登录Linux的SSH终端上很容易输入中文并且获得中文输出,比如下面这样: 但是却几乎不可能将中文显示在Linux自身的 虚拟终端 上: [root@localhost font]# echo 皮鞋 >/dev/tty2 显示...
  • 本文主要介绍了终端的基本概念和终端在系统中登录的过程。 Key Point: 基本概念及访问终端的方法(Code) 终端登录过程详解 ……Expand - Knowledge……1.处理终端设备的模块:硬件驱动程序&线路规程(Line ...
  • 修改linux终端命令行颜色

    千次阅读 2018-08-16 13:51:56
    最近因为工作需要,一直在使用linux操作系统(Cent5.0)。很讨厌linux终端命令行一成不变的风格,而且不容易与输出内容区分,很容易看花眼。于是上网找了找修改linux终端命令行颜色的方法
  • Linux cat 终端 中文 乱码

    万次阅读 2016-09-02 12:22:11
    概述 OS:Raspbian 最近每天都在考虑笔试、面试以及找工作的...3.最后记得改变文件权限就可以了 sudo chmod 755 /usr/bin/cat1 以后 打开文件执行 cat1 filename即可 很方便 而且不用更改系统配置

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 72,368
精华内容 28,947
关键字:

linux改变终端的输出

linux 订阅