Links

16.7 终端控制命令

影响控制台或终端的命令

tput

初始化终端并/或从terminfo数据中获取信息。可以通过各种选项进行各种终端操作:tput clear等效于clear命令;tput reset等效于reset命令。
bash$ tput longname
xterm terminal emulator (X Window System)
执行tput cup X Y会将光标移动到当前终端的(X, Y)坐标。clear命令通常在此之前执行清空终端屏幕。
一些有趣的tput选项:
  • bold,粗体
  • suml,给终端中的文本添加下划线
  • smso,反向呈现文本
  • sgr0,重置终端参数 (恢复正常),不清除屏幕
使用tput的样例脚本:
  1. 1.
  2. 2.
  3. 3.
  4. 4.
  5. 5.
请注意,stty提供了更强大的命令集来控制终端。

infocmp

该命令用于打印出有关当前终端的大量信息。它引用了terminfo数据库。
bash$ infocmp
# Reconstructed via infocmp from file:
/usr/share/terminfo/r/rxvt
rxvt|rxvt terminal emulator (X Window System),
am, bce, eo, km, mir, msgr, xenl, xon,
colors#8, cols#80, it#8, lines#24, pairs#64,
acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bel=^G, blink=\E[5m, bold=\E[1m,
civis=\E[?25l,
clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M,
...

reset

重置终端参数和清空屏幕。与clear命令一样,光标和提示将再次出现在终端的左上角。

clear

clear命令只会简单地清空控制台或xterm屏幕。提示和光标将重新出现在屏幕或xterm窗口的左上角。可以在命令行或脚本中使用此命令。请参阅样例 11-26

resize

查看及设置$TERM$TERMCAP变量的必要命令,用于进行复制当前终端的大小 (尺寸)。
bash$ resize
set noglob;
setenv COLUMNS '80';
setenv LINES '24';
unset noglob;

script

此实用程序会记录(保存在文件中)用户在控制台或xterm窗口的命令行中所有键盘操作。这实际上创建了一个会话记录。