侧边栏壁纸
Linux入门自学网博主等级

每日学一条Linux命令,终成Linux大神

  • 累计撰写 725 篇文章
  • 累计创建 143 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux tput命令教程:如何掌握终端控制(附案例详解和注意事项)

在Linux操作系统中,tput命令是一个提供终端控制的功能强大的命令行工具。通过使用tput,用户可以在脚本中控制终端的各种属性,如移动光标位置、改变文字颜色、设置窗口标题等,从而创建更为动态和交互式的脚本和程序。

Linux tput命令介绍

tput(terminal put)命令用于初始化终端或修改终端控制设置。它利用terminfo数据库来使得终端操作的编程变得终端无关。通过tput可以执行许多终端相关的操作,如清屏、设置属性、移动光标等。

Linux tput命令适用的Linux版本

tput命令在几乎所有主流Linux发行版中都是预安装的,但如果系统中没有,可以通过包管理器安装:

# 基于apt的发行版(如Debian、Ubuntu、Raspbian、Kali Linux等)
sudo apt-get update && sudo apt-get install ncurses-bin

# 基于yum的发行版(如RedHat,CentOS 7等)
sudo yum update && sudo yum install ncurses

# 基于dnf的发行版(如Fedora,CentOS 8等)
sudo dnf update && sudo dnf install ncurses

# 基于apk的发行版(如Alpine Linux)
sudo apk add --update ncurses

# 基于pacman的发行版(如Arch Linux)
sudo pacman -Syu && sudo pacman -S ncurses

# 基于zypper的发行版(如openSUSE)
sudo zypper ref && sudo zypper in ncurses

# 基于pkg的FreeBSD发行版
sudo pkg update && sudo pkg install ncurses

# 基于Homebrew的OS X/macOS发行版
brew update && brew install ncurses

Linux tput命令的基本语法

tput [选项]... [字符串]...

Linux tput命令的常用选项或参数说明

选项说明
clear清除屏幕
cols显示终端列数
cup移动光标到指定位置(行,列)
init初始化终端
lines显示终端行数
sgr0重置所有属性为默认值
setaf设置前景色
setab设置背景色
bold设置粗体字
reset重置终端到默认状态
setb设置背景色(与setab类似,但使用颜色编号)

Linux tput命令实例详解

实例1:清除屏幕

[linux@bashcommandnotfound.cn ~]$ tput clear

这个命令会清除整个终端屏幕。

实例2:获取终端宽度

[linux@bashcommandnotfound.cn ~]$ tput cols

这个命令会显示终端的列数。

实例3:获取终端高度

[linux@bashcommandnotfound.cn ~]$ tput lines

这个命令会显示终端的行数。

实例4:移动光标到指定位置

[linux@bashcommandnotfound.cn ~]$ tput cup 10 20

这个命令将光标移动到第10行,第20列的位置。

实例5:设置文本为粗体

[linux@bashcommandnotfound.cn ~]$ tput bold

执行这个命令将使之后的文本输出为粗体。

实例6:重置所有属性为默认值

[linux@bashcommandnotfound.cn ~]$ tput sgr0

执行这个命令将重置文本属性到默认设置。

实例7:设置文本前景色和背景色

# 设置文本前景色为蓝色
[linux@bashcommandnotfound.cn ~]$ tput setaf 4

# 设置文本背景色为红色
[linux@bashcommandnotfound.cn ~]$ tput setab 1

这些命令将设置文本的前景色和背景色。颜色编码通常从0到7或更多,取决于终端的颜色支持。

实例8:发出蜂鸣声

# 发出一个蜂鸣声
[linux@bashcommandnotfound.cn ~]$ tput bel

此命令将使终端发出一个蜂鸣声,用于提醒用户注意。

实例9:隐藏光标

# 隐藏光标
[linux@bashcommandnotfound.cn ~]$ tput civis

执行此命令后,光标将不可见。

实例10:显示光标

# 显示光标
[linux@bashcommandnotfound.cn ~]$ tput cnorm

如果之前执行了隐藏光标的命令,此命令将使光标再次可见。

实例11:保存光标当前位置

# 保存当前光标位置
[linux@bashcommandnotfound.cn ~]$ tput sc

此命令用于保存光标的当前位置。

实例12:恢复光标到之前保存的位置

# 恢复光标到之前保存的位置
[linux@bashcommandnotfound.cn ~]$ tput rc

如果之前保存了光标位置,此命令将光标恢复到那个位置。

实例13:清除从光标位置到行尾的内容

# 清除从当前光标位置到行尾的内容
[linux@bashcommandnotfound.cn ~]$ tput el

执行此命令将删除从当前光标位置到行尾的所有内容。

实例14:清除整行内容

# 清除整行内容
[linux@bashcommandnotfound.cn ~]$ tput el1

此命令将清除当前行的内容,不论光标位置。

实例15:使用tputecho命令结合设置颜色

# 使用tput结合echo命令设置红色文字
[linux@bashcommandnotfound.cn ~]$ echo "$(tput setaf 1)这是红色的文字$(tput sgr0)"

此命令会输出红色的文本,并在文本后重置文本属性。

实例16:创建一个带有颜色的提示符

# 创建一个带有颜色的提示符
[linux@bashcommandnotfound.cn ~]$ export PS1="\[$(tput setaf 2)\]\u@\h:\w\$ \[$(tput sgr0)\]"

这个命令将会设置提示符,使用户名和主机名显示为绿色。

实例17:使用tput设置下划线文本

# 设置下划线文本
[linux@bashcommandnotfound.cn ~]$ tput smul

执行此命令后,输出的文本将带有下划线。

实例18:关闭tput设置的下划线文本

# 关闭下划线文本
[linux@bashcommandnotfound.cn ~]$ tput rmul

如果之前设置了下划线文本,此命令将关闭下划线效果。

注意事项

  • 使用tput时,应确保你的脚本或命令行操作考虑到了终端的实际能力。例如,尝试在不支持颜色的终端上设置颜色可能不会有任何效果。

  • tput命令的参数(如颜色代码)可能在不同系统或终端模拟器中有所不同。最好查看本地terminfo数据库或使用终端特定的文档。

  • 在编写脚本时,可以通过命令替换将tput命令的输出赋值给变量,然后在脚本其他部分使用这些变量,这样可以提高脚本的效率和可读性。

  • 在使用tput修改了终端状态后,在脚本结束时应当使用tput inittput reset来重置终端状态,避免对后续的终端使用造成影响。

0

评论区