影响控制台或终端的命令
tput
初始化终端或者从 terminfo 数据中取得终端信息.
光标属性
tput clear # 清屏
tput sc # 保存当前光标位置
tput cup 10 13 # 将光标移动到 row col
tput civis # 光标不可见
tput cnorm # 光标可见
tput rc # 显示输出
tput rev # 反显当前的颜色方案
移动光标
使用tput cup X Y将会把光标移动到当前终端的(X,Y)坐标上, 使用这个命令之前一般都要先用clear命令清屏, 设备左上角的坐标为 (0,0)。
更改光标的属性
在向某一设备显示数据时,很多时候您并不希望看到光标. 将光标转换为不可见可以使数据滚动时的屏幕看起来更整洁. 要使光标不可见,请使用 civis 选项(例如,tput civis). 在数据完全显示之后,您可以使用 cnorm 选项将光标再次转变为可见.
文本属性
setb 选项(用于设置背景颜色). #(setab和setb)?
setf 选项(用于设置前景颜色). #(setaf和setf)?
在 terminfo 数据库中分配的颜色数值. 通常情况下,分配的数值与颜色的对应关系如下:
0:黑色
1:蓝色
2:绿色
3:青色
4:红色
5:洋红色
6:黄色
7:白色
tput setb 6 tput setf 4 # 将背景颜色更改为黄色,将前景颜色更改为红色.
例:
#!/bin/bash
# tput.sh: 设置字符串格式
printf $(tput setaf 2; tput bold)'color show\n\n'$(tput sgr0)
for (( i=0; i<=7; i++ ))
do
echo $(tput setaf $i)"Show me the money"$(tput sgr0)
done
printf '\n'$(tput setaf 2; tput setab 0; tput bold)'background color show'$(tput sgr0)'\n\n'
for (( i=0,j=7; i<=7; i++,j-- ))
do
echo $(tput setaf $i; tput setab $j; tput bold)"Show me the money"$(tput sgr0)
done
exit 0
运行效果:
infocmp
这个命令会打印出大量当前终端的信息. 事实上它是引用了terminfo数据库的内容.
bash$ infocmp
# Reconstructed via infocmp from file: /lib/terminfo/x/xterm-256color
xterm-256color|xterm with 256 colors,
am, bce, ccc, km, mc5i, mir, msgr, npc, xenl,
colors#256, cols#80, it#8, lines#24, pairs#32767,
acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
reset
复位终端参数并且清除屏幕. 与clear命令一样, 光标和提示符将会重新出现在终端的左上角.
这个命令将完全刷新终端屏幕,之前的终端输入操作信息将都会被清空,这样虽然比较清爽,但整个命令过程速度有点慢,使用较少.
clear
clear命令只不过是简单的清除控制台或者xterm 的屏幕. 光标和提示符将会重新出现在屏幕或者xterm window的左上角. 这个命令既可以用在命令行中也可以用在脚本中.
这个命令将会刷新屏幕,本质上只是让终端显示页向后翻了一页,如果向上滚动屏幕还可以看到之前的操作信息。一般都会用这个命令.
script
这个工具将会记录(保存到一个文件中)所有的用户按键信息(在控制台下的或在xterm window下的按键信息). 这其实就是创建了一个会话记录.
参数:
-t 指明输出录制的时间数据
-f 如果需要在输出到日志文件的同时,也可以查看日志文件的内容,可以使用 -f 参数。PS:可以用于教学,两个命令行接-f可以实时演示
-a 输出录制的文件,在现有内容上追加新的内容
-q 选项可以让scirpt命令以静默模式运行,登录进来的用户不会知道script命令已经运行了. 而-a选项将会让记录附加到文件中,而不会擦除先前的记录.
要退出记录活动,我们可以在终端中按下Ctrl+D,或者输入exit. 在退出script前,你会发现记录文件的大小为0 Kb,而在退出之后,文件大小会发生改变.