Linux shell编程学习笔记27:tputs

除了stty命令,我们还可以使用tput命令来更改终端的参数和功能。

1 tput 命令的功能

tput 命令的主要功能有:移动更改光标、更改文本显示属性(如颜色、下划线、粗体),清除屏幕特定区域等。

2 tput 命令格式

tput 选项 参数

3 设置文本颜色属性

3.1 tput setaf / setbf :设置前景色 / 背景色

命令格式:

  • tput setab n : 设置背景色,set text attributes background color
  • tput setaf n : 设置前景色,set text attributes front color

​参数n:

  • 0 -- Black,黑色
  • 1 -- Red,红色
  • 2 -- Green,绿色
  • 3 -- Yellow,黄色
  • 4 -- Blue,蓝色
  • 5 -- Magenta,品红
  • 6 -- Cyan,青色
  • 7 -- White,白色

例子:设置前背景色为黄色(3),背景色为品红(5)。

csdn @ edu bash ~ ++tput setaf 3 setab 5++ csdn @ edu bash \~ ++tput setab 5++
csdn @ edu bash ~ $

看来不能在一个命令中同时设置前景色和背景色,要分开来用两个命令分别设置。

csdn @ edu bash ~ tput setaf 3; tput setab 5 csdn @ edu bash \~

3.2 tput rev:反显当前的颜色方案

rev源自reverse。

csdn @ edu bash ~ ++tput setaf 3; tput setab 5++ csdn @ edu bash \~ ++tput rev++
csdn @ edu bash ~ $

4 设置文本模式属性

|-----------|-------------------------------------------|
| 命令 | 功能 |
| tput bold | 加粗字体 |
| tput dim | 打开高亮模式,turn on half-bright mode |
| tput smul | 添加下划线,start mode of underline, |
| tput rmul | 取消下划线,remove mode of underline |
| tput smso | 突出模式,start mode of standout |
| tput rmso | 反显突出模式,reverse mode of standout |
| tput sgr0 | set global attributes return to 0, 取消所有属性 |

csdn @ edu bash ~ $ ++tput setaf 3; tput setab 5++

csdn @ edu bash ~ $ ++tput smso++

csdn @ edu bash ~ $ ++tput rmso++

csdn @ edu bash ~ $ ++tput smul++

csdn @ edu bash ~ $ ++tput bold++

csdn @ edu bash ~ $ ++tput rmul++

csdn @ edu bash ~ $ ++tput dim++

csdn @ edu bash ~ $ ++tput sgr0++

csdn @ edu bash ~ $

5 设置光标属性

|---------------------|-------------------------------|
| 命令 | 功能 |
| tput clear | 清屏 |
| tput sc | 保存当前光标位置,save curosr position |
| tput rc | 恢复光标位置,restore cursor postion |
| tput cup row column | 将光标移动到指定行row和列column, |
| tput civis | 光标不可见,cursor invisible |
| tput cnorm | 光标可见,cursor mormal |
| tpu init | 清空格式 |

我们将执行以下命令序列:

bash 复制代码
tput clear                   # 清屏
tput sc                      # 保存当前光标位置
tput cup 10 13               # 将光标移动到第10行第13列
echo -n Enter your password: # 提示用户输入密码
tput civis                   # 光标不可见
read p                       # 将用户输入的密码保存到变量p中
tput cnorm                   # 光标可见
tput rc                      # 恢复光标位置
echo your password: $p       # 显示用户输入的密码

csdn @ edu bash ~ ++tput clear;tput sc;tput cup 10 13;echo -n Enter your password:;tput civis; read p; tput cnorm; tput rc; echo your password: p++

6 其它功能

|---------------|--------------|
| 命令 | 功能 |
| tput lines | 显示行数 |
| tpus cols | 显示列数 |
| tput reset | 重置终端设置 |
| tput longname | 显示当前终端类型的长名称 |
| tput hs | 具有状态行 |

csdn @ edu bash ~ $ ++tput lines++

22

csdn @ edu bash ~ $ ++tput cols++

132

csdn @ edu bash ~ $ ++tput longname++

xterm terminal emulator (X Window System)csdn @ edu bash ~ $

相关推荐
JAVA面经实录9176 小时前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
艾莉丝努力练剑12 小时前
OpenCode AI 编程:Ubuntu 24.04 环境安装与使用指南
linux·服务器·网络·人工智能·tcp/ip·ubuntu
崇山峻岭之间12 小时前
Keil5输出hex转换为bin的设置
linux·运维·服务器
谷雪_65813 小时前
Linux 网络命名空间:从内核原理到企业级容器网络架构全景实战
linux·网络·架构
qq_1631357513 小时前
Linux 【03- chgrp命令超详细教程】
linux
CodeStats14 小时前
【编程语言】深度梳理C/C++、Java、Python、Go、Rust的区别
java·linux·c语言·c++·python·rust·go
我会尽全力 乐观而坚强14 小时前
MySQL库与表的操作
linux·数据库·mysql
着迷不白15 小时前
Linux 磁盘管理完全指南:分区、文件系统、挂载与 LVM 实战
linux·运维·服务器
山川而川-R15 小时前
LangChain
linux·运维·服务器
QH_ShareHub15 小时前
Linux 根目录结构详解
linux·运维·服务器