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 ~ $

相关推荐
Gaoithe2 小时前
ubuntu 端口复用
linux·运维·ubuntu
德先生&赛先生3 小时前
Linux编程:1、文件编程
linux
程序猿小D4 小时前
第16节 Node.js 文件系统
linux·服务器·前端·node.js·编辑器·vim
多多*4 小时前
微服务网关SpringCloudGateway+SaToken鉴权
linux·开发语言·redis·python·sql·log4j·bootstrap
IT界小黑的对象6 小时前
virtualBox部署ubuntu22.04虚拟机 NAT+host only 宿主机ping不通虚拟机
linux·运维·服务器
SilentCodeY6 小时前
Ubuntu 系统通过防火墙管控 Docker 容器
linux·安全·ubuntu·系统防火墙
weixin_527550406 小时前
Linux 环境下高效视频切帧的实用指南
linux·运维·音视频
keson要进步6 小时前
CICD实战(二)-----gitlab的安装与配置
linux·运维·gitlab
藥瓿亭7 小时前
K8S认证|CKS题库+答案| 4. RBAC - RoleBinding
linux·运维·服务器·云原生·容器·kubernetes·cks
吐泡泡_7 小时前
Linux(线程控制)
linux