转自:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=2318684&fromuid=23571134

本教程由 惟吾无为 搜集整理. 序列后面的批语是基于本人的学习机(下文的小机)终端来说的. 
今抛砖于此, 望有玉石相应(挺划算的^_^, 玉还是比较贵的...).
文本下载, 3.85KB, txt : http://www.uudisc.com/user/vuuvsoft/file/4063312

转义是引用单字符的方法.在单个字符前面的转义符(\ 倒斜杠)告诉shell不必特殊解释这个字符,只把它当成字面上的意思.

但在一些命令和软件包里,比如说echo和sed,转义一个字符可能会引起一个相反的效果--因为它们可能触发那个字符的特殊意思.

---引自 abs

  1. 清屏函数
  2.  
  3. 用转义序列. busyboxclear就是使用的转义序列: "\033[H""\033[J"
  4. 直接printf之.
  5.  
  6. 一些特殊的转义序列:
  7. (以 help echo 的结果为蓝本, 添加部分别人的注释, 无为有修改)
  8. \a 终端响铃(小机不支持...同 \x07, \)
  9. \b 退格, 光标左移一格.
  10. \c 禁止行尾自动换行, echo有效, printf无效
  11. \e ESC转义序列(见下, \E, \, \x1b; 就是ESC键按下的效果)
  12. \f 换页(光标移到下一行的相同列)
  13. \n 换行(光标移动下一行行首)
  14. \r 回车(光标回到本行行首)
  15. \t 制表符(TAB键按下的效果...)
  16. \v 纵向制表符(同\f)
  17. \x00 十六机制数的值(两位[-9a-fA-F]的十六进制数).
  18. \\ 倒斜杠...
  19. \ 八进制数的值(以数字开头, 限最多3位[-]的数字)
  20.  
  21. PS 转义序列 (prompt symbol, bash提示符):
  22. (出自 http://www.linuxselfhelp.com/how ... h-Prompt-HOWTO.html , 翻译有参考)
  23. \a 响铃
  24. \d 日期, 格式为 "Weekday Month Date", ("Tue May 26")
  25. \e ESC转义序列.
  26. \h 主机名的第一部分. (froms)
  27. \H 完整主机名. (froms.vuuvsoft.com)
  28. \n 换行
  29. \r 回车
  30. \s shell的名称. 根据路径获取. 如/usr/bin/bash --> "bash"
  31. \t 时间, 格式 HH:MM:SS 24小时制. ("23:01:01")
  32. \T 时间, 格式 HH:MM:SS 12小时制. ("11:01:01")
  33. \@ 带有 am/pm 12小时制 时间
  34. \u 用户名. ("root")
  35. \v bash版本号 ("2.00")
  36. \V bash版本号及补丁级别 ("2.00.0")
  37. \w 当前工作目录完整路径 ("/home/froms")
  38. \W 当前工作目录目录名 ("froms")
  39. \! 当前命令在历史缓冲区中的位置
  40. \# 命令编号(只要您键入内容,它就会在每次提示时累加)
  41. \$ 如果你是root, 显示 "#"; 否则, "$".
  42. \nnn 八进制数
  43. \\ 倒斜杠
  44. \[ 这个序列应该出现在不移动光标的字符序列(如颜色转义序列)之前. 它使 bash 能够正确计算自动换行.
  45. \] 这个序列应该出现在非打印字符序列之后. ( \[\e[;47m\] )
  46.  
  47. (无为注: 当然, 你也可以用命令替换来显示时间日期: PS1="$(date +%x-%X)")
  48.  
  49. ( 以下内容来自 man console_codes 的结果, 翻译有修改, 并删除部分无法在小机使用的序列. )
  50. ESC 转义序列:
  51. c 重置终端.
  52. D 换页(纵向制表符).
  53. E 换行.
  54. H 设置当前列为制表位. (未验证)
  55. M 翻转换行, 向上换页(Reverse linefeed).
  56. 存储当前状态(光标坐标, 属性).
  57. 恢复上一次储存的设置
  58. [ (见下)
  59. # 屏幕校准测试 - 以E填充屏幕.
  60.  
  61. 例: printf "\e#8"
  62.  
  63. ESC[ 转义序列:
  64. A 光标上移指定行.
  65. B 光标下移指定行.
  66. C 光标右移指定列. \e[3C 右移3
  67. D 光标左移指定列.
  68. G 光标移动到当前行的指定列.
  69. H 光标移动到指定行和列(行列起始计数为1, tput cup 的起始计数为0).
  70. \e[y;xH y=; x= 第三行第五列.
  71. J 删除内容(默认从当前光标处到结尾).
  72. \e[1J: 删除从开始到光标处的内容.
  73. \e[2J: 清空整个屏幕.
  74. K 删除行(默认从当前光标处到行尾).
  75. \e[1K: 删除从行首到当前光标处的内容.
  76. \e[2K: 删除整行.
  77.  
  78. d 光标移动到当前列指定行
  79. f \H.
  80. h 设置模式(见下).
  81. l 重置模式(见下).
  82. m 设置属性(见下).
  83. n 状态报告(见下).
  84. r 设置滚动范围; 参数为首行和末行.(好像不能用...)
  85. s 存储光标位置.
  86. u 恢复光标位置.
  87.  
  88. 设置图形属性:
  89. \e[ <属性数值> m 设置显示属性. 同样的序列可以设置一个或多个属性, ";" 分开.
  90.  
  91. 特效代码:
  92. 清除所有属性
  93. 高亮(并加粗, 可惜小机没有加粗)
  94. 暗色(以一般亮度显示, 小机不支持)
  95. 下划线
  96. 闪烁(小机闪烁频率太低, 无用)
  97. 反显.
  98. 消隐(一段字不显示, 小机不支持)
  99.  
  100. 正常亮度
  101. 关闭下划线
  102. 不闪烁
  103. 不反显
  104.  
  105. 颜色代码前缀:
  106. : 前景 : 加亮前景
  107. : 背景 : 加亮背景
  108. 颜色代码后缀(加亮效果):
  109. 黑(深灰)
  110. 红(亮红)
  111. 绿(亮绿)
  112. 棕(黄色)
  113. 蓝(浅蓝)
  114. 紫(淡紫)(这个看不出来)
  115. 青(亮青)
  116. 浅灰(白)
  117. 默认颜色(限3,4前缀)
  118.  
  119. 示例: 绿色前景, 亮青背景, 下划线. 0表示清除之前设置的所有属性.
  120. \e[;;;4m
  121. 打印一段内容后, 不要下划线了
  122. \e[24m
  123. 又想反显了(就是绿色背景, 亮青前景)
  124. \e[7m
  125. 那么, 怎么除去反显呢?
  126.  
  127. 状态报告:
  128. \e[5n
  129. 设备状态报告(DSR): \e[0n 应答(终端准备好).
  130. \e[6n
  131. 光标位置报告(CPR): \e[y;xR 应答, 这里 x,y 指光标位置.
  132.  
  133. 设置模式( l替换最后一个h就是重置模式 )
  134. \e[?5h 全屏反显.
  135. \e[?25h 显示终端光标

非常好!!!---bash转义序列笔记---打印语句printf用法【转】的更多相关文章

  1. Bash shell 笔记总结(一) 转自http://www.bubuko.com/infodetail-509992.html,谢谢原作者

    本文是上课笔记总结,涉及细节知识点会在以后文章说明! bash脚本编程: 脚本程序:解释器解释执行: shell: 交互式接口:编程环境: shell: 能够提供一些内部命令,并且能通过PATH环境变 ...

  2. bash编程之case语句,函数

    bash脚本编程:之case语句   条件测试: 0: 成功 1-255: 失败   命令: [ expression ] [[ expression ]] test expression   exP ...

  3. linux bash shell中case语句的实例

    本文介绍下,在bash shell编程中,有关case语句的一个例子,学习下case语句的用法,有需要的朋友参考下. 本文转自:http://www.jbxue.com/article/13377.h ...

  4. Python编程从入门到实践笔记——if语句

    Python编程从入门到实践笔记——if语句 #coding=utf-8 cars=['bwm','audi','toyota','subaru','maserati'] bicycles = [&q ...

  5. Lodop打印语句最基本结构介绍(什么是一个任务)

    Lodop中最基本的打印过程至少有初始化语句.添内容语句和打印语句三部分组成,例如: LODOP.PRINT_INIT("打印任务名"); //首先一个初始化语句 LODOP.AD ...

  6. Lodop设置打印维护返回打印语句代码

    打印设计关闭时,可以返回设计的打印代码,打印维护则返回成功打印的次数.不过打印维护也是返回打印程序代码的,方法就是加个语句,这个语句是: LODOP.SET_PRINT_MODE("PRIN ...

  7. 去除console.log()打印语句

    打印语句:console.log() ,一句话描述它! “用的时候感觉贼爽,不用的时候脑袋痛吧?” 以下提供三种解决方案: 一. webpack打包时去除,适合Vue项目 二. vscode正则匹配, ...

  8. 笔记-sql语句

    笔记-sql语句 1.      sql语句基础 虽然经常使用sql语句,但没有一个整体式的文档,整理了一下. 1.1.    select foundation: select <colnum ...

  9. idea中scala项目补全变量、添加打印语句的小技巧

    1. 自动补全变量: new Person.var  ,然后按回车键:效果:代码变成: val person: Person = new Person 2.添加打印语句: person.name.pr ...

随机推荐

  1. Error: Cannot find module 'core-js/fn/array/values' at Function.Module._resolveFilename (module

    E:\codeBase\top605\rescue-master\server\node_modules\_log4js@1.1.1@log4js\lib\log4js.js:321 throw ne ...

  2. [Noip2016]组合数(数论)

    题目描述 组合数表示的是从n个物品中选出m个物品的方案数.举个例子,从(1,2,3) 三个物品中选择两个物品可以有(1,2),(1,3),(2,3)这三种选择方法.根据组合数的定 义,我们可以给出计算 ...

  3. 9.1 mysql+centos7+主从复制

    MYSQL(mariadb) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可.开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的 ...

  4. mongo创建数据库和用户

    1.linux安装mongo conf文件配置: 配置文件: dbpath=/home/data/mongodb/mongodb logpath=/home/data/logs/mongodb.log ...

  5. linux压缩和解压缩命令大全--费元星站长

    tar命令 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName gz命令 解压1:gunzip FileName.gz 解压2:gzip ...

  6. 【活动】参加葡萄城控件主办的“谁是报表达人”知识评测活动,赢取iPad Mini2

    一.参与资格 从事报表开发的博客园用户 二.活动时间 4月1日-4月30日 三. 活动形式 在活动期间,活动参与者只要回答从题库中随机抽出的与报表相关的六道题,就可以知道自己的报表知识等级.同时活动主 ...

  7. 程序员必看:如何降低APP软件开发的成本?

    程序员必看:如何降低APP软件开发的成本? 作为一名曾经的程序猿,一直想写一点东西给大家分享一下,今天终于动笔了,写写我们在开发的过程中怎样才能更快更好的进行开发,降低app开发成本.无论是个人开发者 ...

  8. Pascal小游戏 俄罗斯方块怀旧版

    俄罗斯方块怀旧版(注释版) {$APPTYPE GUI}{$MODE DELPHI}program WinPiece; usesWindows; constAppName = 'WinPiece';p ...

  9. 关于JavaScript设计模式的学习(二)

    第二部分来了,是关于结构型的,同样的,还是在简书中,GitHub上也有代码示例和详细注释 简书:http://www.jianshu.com/p/face1be4b846 github:https:/ ...

  10. 1、python 循环控制

     案例1: lucky_num = 19 input_num = int(input("Input the guess number:")) if input_num == luc ...