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的样例脚本:

请注意,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窗口的命令行中所有键盘操作。这实际上创建了一个会话记录。

最后更新于