graphical function

图形功能

字符集

各种终端模拟器包支持的字符集如下:

l  ASCII(美国信息交换标准码)

n  该字符集包括使用7为代码存储的英语字符,由128个英语字母(包括大小写)、数字和特殊符号组成;

l  ISO-8859-1(通称为Latin-1

n  ASCII字符的扩展,支持标准的ASCII字符以及大多数西欧语言的字符;

l  ISO-8859-2

n  支持东欧语言字符的ISO字符集;

l  ISO-8859-6

n  支持阿拉伯字符的ISO字符集;

l  ISO-8859-7

n  支持希腊语言字符的ISO字符集;

l  ISO-8859-8

n  支持希伯来语言字符的ISO字符集;

l  ISO-10646(通称为Unicode

n  ISO 2字节字符集,包含大多数英语和非英语语言代码。Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,Unicode也在面世以来的十多年里得到普及。

目前,在英语国家使用最广的是Latin-1字符集,Unicode字符集正日益崛起,有朝一日很可能成为字符集的新标准,那@#¥必须的,天朝威武。

控制码

       除了显示字符外,终端必须有能力控制监视器和键盘的特殊功能,比如光标在屏幕上的位置。这种能力可以通过控制码系统实现。控制码是一种字符集中没有的特殊代码,它通知终端执行特殊的不可显示的操作。

       常见的控制码功能有回车、换行、水平制表符、方向键和翻页键。

       这些代码主要模拟控制监视器上光标位置的功能,此外,还有一些其他代码,比如清楚整个屏幕,甚至还能模拟铃声。

快模式图形

       非智能终端的转折点是1978年发布的DEC VT100,该终端是第一个支持完整ANSI字符集的终端,包括快模式图形字符。

       ANSI字符集包含的代码不仅使监视器能够显示文本,而且还能显示基本的图形

图形符号,比如边框、线条和块。

向量图形

       Tektronix公司生产了一些列流行的终端,使用的显示方法称为向量图形。与DEC方法不同,它使用一系列线条(向量)生成所有的屏幕图(包括字符),Tektronix 4010终端式其产品中应用最广的图形非智能终端,4010终端显示图形的方式是使用电子束绘制一系列向量,类似于使用铅笔绘画,由于向量图不适用点生成线条,因此与面向点的图形终端相比,向量图能绘制精度更高的集合图形,这一功能广受数学家和科学家的好评。

显示缓冲

       图形显示的关键在于终端缓冲图形的能力,缓冲数据需要在终端中有额外的内存,以存储当前不需要在监视器显示的字符。

       DEC VT系列使用的数据缓冲方式有两种:

l  数据滚动出主显示窗口时缓冲数据(称为历史数据);

l  缓冲一个完整的显示窗口(称为替代屏幕);

 

其中替代屏幕可以粗略地模拟动态图形。

Linux的cut命令

cut是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对来进行分析的,并不是整篇信息分析的。

1)其语法格式为:
cut  [-bn] [file]
cut [-c] [file]    cut [-df] [file]

使用说明
cut
命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b-c -f 标志之一。

主要参数

l  -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。

l  -c :以字符为单位进行分割。

l  -d :自定义分隔符,默认为制表符。

l  -f  :与-d一起使用,指定显示哪个区域。

l  -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的<br />范围之内,该字符将被写出;否则,该字符将被排除。

2cut一般以什么为依据呢? 也就是说,我怎么告诉cut我想定位到的剪切内容呢?

cut命令主要是接受三个定位方法:

l  字节(bytes),用选项-b

l  字符(characters),用选项-c

l  域(fields),用选项-f

3)以字节定位

举个例子吧,当你执行who命令时,会输出类似如下的内容:

[rocrocket@rocrocket programming]$ who
rocrocket :0           2009-01-08 11:07
rocrocket pts/0        2009-01-08 11:23 (:0.0)
rocrocket pts/1        2009-01-08 14:15 (:0.0)
如果我们想提取每一行的第3个字节,就这样:

[rocrocket@rocrocket programming]$ who|cut -b 3
c
c
c

4) 如果字节定位中,我想提取第3,第4、第5和第8个字节,怎么办?

-b支持形如3-5的写法,而且多个定位之间用逗号隔开就成了。看看例子吧:

[rocrocket@rocrocket programming]$ who|cut -b 3-5,8
croe
croe
croe
但有一点要注意,cut命令如果使用了-b选项,那么执行此命令时,cut会先把-b后面所有的定位进行从小到大排序,然后再提取。