我以前写过一篇文章Linux C/C++ 如何输出彩色字体
点击链接即可传送
这里我再加两个常用的控制字符\n\r
有人会问,这两个不久换行符嘛,有什么好讲的。其实不然。

系统 终端换行符
Windows \r\n
Linux \n
Mac OS \r

有人又会问,不对呀,我在C/C++中都用\n作换行符的,怎么没报错?其实编译器作了特殊优化。
那么\r\n到底有什么区别呢?
\r代表光标移动到行首,\n代表光标向下移动
看到这里,我想大家也明白了,Windows的换行符是最标准的
先将光标移动至行首,再下移一行
但我的重点不是换行符,而是\r
有的人可能知道退格符\b,意思是把光标倒退一格
这个控制字符在一些情况下十分有用,比如vim八成是这么干的,但如果要显示进度条,怎么退到行首呢?
这个时候,\r登场了。终端对输出的处理是覆盖本行后面的字符(如果有的话)
于是只要新的输出大于等于原来的输出,就可以做到更新进度条。
std::cout << "Hello world!\rThis is a new sentence!" << std::endl;
这句话输出很明显,应该是This is a new sentence!
但如果换一个,std::cout << "Hello world!\rHello!" << std::endl;
你会发现,输出不是Hello!而是Hello!world!
因为终端不会把本行的所有字符都删除,而是用类似Insert的模式去输出。
那么这个时候,打开Linux C/C++ 如何输出彩色字体,找到\033[K这一行,这个控制字符串就可以帮助你删除本行光标后的内容,可以配合\r使用(仅限于Linux,对于其他操作系统,会将那一串全部输出)
到这里,进度条已经可以实现了。但是我在测试的时候发现了问题,因为更新过于频繁,会导致光标不断在那一行闪动,影响视觉效果。这个时候,再次点击传送门,发现控制字符串\033[?25l可以隐藏光标,而控制字符串\033[25h可以重新显示。这就非常好了,只要在输出的开始时隐藏光标,在结束时显示光标就行了。
那么至此,你结合表格(传送门内),就可以实现apt的进度条了(Progress那个只需要在输出开始先光标下移\n,在输出结束光标上移\033[1A就行了)

如何美化linux终端输出相关推荐

  1. 花里胡哨,如何在Linux终端输出带有颜色的字体,将带颜色的字体赋值给变量...

    背景 ​ 在日常操作Linux的情况下,总会遇到一些需求,比如说,把输出的内容用不同颜色标注出来,以达到醒目.提示的目的,那么如何在Linux终端输出带有颜色的字体呢? Linux终端输出字符颜色 ​ ...

  2. linux终端用什么颜色好,linux 终端输出颜色

    在Linux终端下调试程序时,有时需要输出大量信息.若能控制字体的颜色和显示方式,可使输出信息对比鲜明,便于调试时观察数据. 终端的字符颜色由转义序列(Escape Sequence)控制,是文本模式 ...

  3. linux终端输出c语言程序,Linux终端程序用c语言实现改变输出的字的颜色

    颜色代码: 格式: echo "\033[字背景颜色;字体颜色m字符串\033[0m" 例如: echo "\033[41;36m something here \033 ...

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

    前言 在Linux终端下调试程序时,有时需要输出大量信息.若能控制字体的颜色和显示方式,可使输出信息对比鲜明,便于调试时观察数据. 终端的字符颜色由转义序列(Escape Sequence)控制,是文 ...

  5. linux 屏幕输出 高亮_通过printf设置Linux终端输出的颜色和显示方式

    转载自:http://www.cnblogs.com/clover-toeic/p/4031618.html 在Linux终端下调试程序时,有时需要输出大量信息.若能控制字体的颜色和显示方式,可使输出 ...

  6. linux终端提示语,美化Linux终端和Shell提示符

    导读 在本文中,我们将展示一些简单而有趣的Linux技巧来,我们将展示如何使您的终端和shell具有漂亮字符功能.在本指南的最后,您将了解如何使用Bash变量和转义字符自定义shell提示符. 在Ba ...

  7. Linux终端输出echo各种颜色的ziti

    #!/bin/bash # #下面是字体输出颜色及终端格式控制 #字体色30-37 echo -e "\033[30m黑色字\033[0m" echo -e "\033[ ...

  8. Linux终端输出链接

    bash或zsh会自动解析带有http/https开头的,当有这类开头的字符,会自动区分,当鼠标上去会呈现出手模型,并且可以右键打开链接: 实现方法: echo -e "\033[4mwww ...

  9. linux美化文件,Linux 终端美化 - Oh My Zsh

    [TOC] 前言 在类 UNIX 系统(比如 Linux,Mac)环境中,我们常常在终端中输入命令与系统进行交互,大多数系统默认使用的 shell 程序为 Bash. 但是 Bash 本身的色调非常单 ...

最新文章

  1. git误删文件找回方法/git版本回退方法
  2. 集存款(复利单利)贷款为一体的计算器(最新版)
  3. flask框架(十): 闪现
  4. spring是如何管理 事务的
  5. 天池 在线编程 最大子树(自底向上)
  6. x264中I,P,B帧和PTS,DTS的关系
  7. ubuntu 14.04.03 LTS(64bit) 安装PyCharm
  8. oracle复制表结构与表数据
  9. 条款4:确定对象被使用前已被初始化(Make sure that objects are initialized before they're used)...
  10. PAIP.获取RSS全文输出.txt
  11. MATLAB(四) 图像处理--对象分析与属性
  12. Android WebView下载使用教程
  13. 商城项目 ------ 订单的生成功能(vue实现)
  14. 实用的bi报表工具--Smartbi报表软件
  15. 新媒体运营学习路线及全套视频教程资源
  16. 6580 8.1 mtp模式,查看手机容量大小修改
  17. 环回接口是做什么的?
  18. pip显示网络不可达错误解决
  19. 【ACWing】1063. 永无乡
  20. 考研小作文万能模板——17篇

热门文章

  1. 三十七、下篇 | tkinter实现一个翻译软件
  2. 手把手教你薅羊毛,1 元体验业内领先AI技术!
  3. AAAI 2020 开源论文 | 语义感知BERT(SemBERT)
  4. 知识工场 | 知识图谱暑假班开始报名啦!
  5. 北理工2017年爬虫目录
  6. 算法分析与设计-实验四 回溯算法设计
  7. java 继承与派生4.6-4.7 2020.3.27
  8. linux设置esp8266默认网卡,ESP8266 Linux开发环境搭建
  9. python gis 经纬度 库_入门-Python-GIS坐标转换
  10. VSCode 报错 Parsing error: x-invalid-end-tag