一个古老的终端显示控制命令-tput命令|帮你解决中英文混合时终端列对齐输出问题

本文详细介绍了Unix和Linux终端下的tput命令,包括其基本用法、功能如清屏、光标定位、文本属性调整等,以及如何利用terminfo文件控制复杂的终端显示。实例演示了如何使用tput进行高亮、颜色设置和处理中英文混合显示的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

终端显示控制对于写一个 终端脚本 是非常有用的,在没有图形界面时Unix和类Unix系统用户都是在Terminal控制终端下工作的。虽然Linux操作系统的图形界面出现淡化了终端显示控制,但终端控制功能依旧是每个命令行用户不可或缺的一部分。只是我们不知道在使用它而已。

例如控制突出显示、光标位置以及对于 UTF-8 长度大于1个字节的文本显示( 中文、特殊符号)等。

tput这个命令可能很多朋友没有使用过,1980年代它就已经跟着unix存在了,之后不断发展到了今天。与之类似的命令有:

  • reset # 重置光标为第一行第一列,但不清空历史输出信息。
  • clear # 重置光标为第一行第一列,并清空终端所有输出。

本文带你了解一下tput命令的功能及使用方法。

命令用法

tput命令的使用语法:

       tput [-Ttype] capname [parameters]
       tput [-Ttype] [-x] clear
       tput [-Ttype] init
       tput [-Ttype] reset
       tput [-Ttype] longname
       tput -S  <<
       tput -V

从简单的开始介绍:

$  tput -V   # 查看使用ncurse库的版本
ncurses 6.3.20211021

# 如果terminfo文件存在,针对当前终端类型("-T"或TERM变量)的定义也存在,输出终端类型的完整名字。
$ tput  -T xterm longname
xterm terminal emulator (X Window System)
$ tput  -T linux longname
Linux console

$ tput clear  # 清屏,将当前终端屏幕内容清空(再也找不到之前执行命令显示内容了),光标在第一行第一列位置。
$ tput reset  # 跟 clear类似,但历史输出信息并不清除(clear 是清除历史内容的)。
$ tput init     # 重新初始化终端信息,但不清屏幕内容,重置光标在下一行第一列。


$ env |grep TERM
COLORTERM=truecolor
TERM=xterm-256c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

根叔的修行笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值