真实的硬件终端设备由键盘和显示器组成,用于与远程主机(计算机)进行通信。除了与主机距离比较远(在隔壁房间或者在其它城市)以外,它的使用方式与一台个人计算机没有什么区别。程序是在主机上被执行,但结果是显示在终端屏幕上。终端通常仅限于显示接收到的信息以及在键盘上输入发送给主机的信息。
功能单一的终端设备在上世纪70年代和80年代比较盛行。人们在其上编制程序、运行程序、编写文档或发出打印命令等。终端使用一根电缆与主机相连,有时需要通过modem与在远距离以外的主机连接。
如今使用实际的终端设备已经很少。人们通常利用软件把个人计算机仿真成一个终端与主机相连。现在几乎所有使用Linux的人都使用终端仿真方法。对于不使用X window的情况下,人们使用字符界面的终端(虚拟终端)。这通常也被称为命令行接口。而在X window环境下,我们可以获得多个终端窗口,也有不少的终端仿真程序可以选用,例如xterm、rxvt或者zterm等。所有这些都是使用了仿真的方法来模拟一台真实的终端设备。
实际的终端设备和与主机相连的显示器不同,因为它们有不同的硬件设施。一个实际的字符终端通常通过一根长电缆连接到主机的串行端口上,而主机的显示器则是连接在主机的显示卡上的。对于主机的显示器来讲,其视频图象是保存在主机显示卡上的显示内存中,而终端设备显示屏的图象是保存在终端设备的功能简单的显示卡上的。
通过使用组合键Alt-F2、Alt-F3等,你可能早已经使用过Linux系统上的虚拟终端(Virtual terminal)。使用一个实际的终端设备正如使用这样的一个虚拟终端,但你是在实际终端设备屏幕上显示信息而非象虚拟终端一样共享一个屏幕。
根据终端设备的生产厂家不同,各种类型的终端设备的功能也有区别。终端设备的许多功能是一直可以使用的,但有些功能则需要计算机主机向其发送命令来激活或进行控制。为了能控制发送到终端的信息在屏幕上显示的格式、位置等属性,主机需要向终端发送控制码(Control Code)和/或转义字符序列(Escape Sequence)。
控制码(或称为控制字符 Control Character)是指ASCII码表中前32个字符。这些控制字符包括:回车符(Carriage-Return)、换行符(Line-Feed)、退格符(Backspace)、逃逸符(转义符Escape-Character)、制表符(Tab)和响铃符(Bell)。这些控制字符本身通常不会显示在终端屏幕上。
由于控制字符太少,远远不够用来控制终端的各种属性,因此发明出使用转义序列来控制终端属性的方法。转义序列由转义符(Escape – ESC)后跟普通字符序列组成。终端在收到一个转义符时,就会把其后面的几个字符当作主机发送的命令来对待,并对该字符序列作出诠释。在识别出有效的转义序列结束后,终端执行主机的控制命令。随后所接收到的字符将仍然会显示在屏幕上(除非它们也是控制字符或者转义字符序列)。
功能单一的终端设备在上世纪70年代和80年代比较盛行。人们在其上编制程序、运行程序、编写文档或发出打印命令等。终端使用一根电缆与主机相连,有时需要通过modem与在远距离以外的主机连接。
如今使用实际的终端设备已经很少。人们通常利用软件把个人计算机仿真成一个终端与主机相连。现在几乎所有使用Linux的人都使用终端仿真方法。对于不使用X window的情况下,人们使用字符界面的终端(虚拟终端)。这通常也被称为命令行接口。而在X window环境下,我们可以获得多个终端窗口,也有不少的终端仿真程序可以选用,例如xterm、rxvt或者zterm等。所有这些都是使用了仿真的方法来模拟一台真实的终端设备。
实际的终端设备和与主机相连的显示器不同,因为它们有不同的硬件设施。一个实际的字符终端通常通过一根长电缆连接到主机的串行端口上,而主机的显示器则是连接在主机的显示卡上的。对于主机的显示器来讲,其视频图象是保存在主机显示卡上的显示内存中,而终端设备显示屏的图象是保存在终端设备的功能简单的显示卡上的。
通过使用组合键Alt-F2、Alt-F3等,你可能早已经使用过Linux系统上的虚拟终端(Virtual terminal)。使用一个实际的终端设备正如使用这样的一个虚拟终端,但你是在实际终端设备屏幕上显示信息而非象虚拟终端一样共享一个屏幕。
根据终端设备的生产厂家不同,各种类型的终端设备的功能也有区别。终端设备的许多功能是一直可以使用的,但有些功能则需要计算机主机向其发送命令来激活或进行控制。为了能控制发送到终端的信息在屏幕上显示的格式、位置等属性,主机需要向终端发送控制码(Control Code)和/或转义字符序列(Escape Sequence)。
控制码(或称为控制字符 Control Character)是指ASCII码表中前32个字符。这些控制字符包括:回车符(Carriage-Return)、换行符(Line-Feed)、退格符(Backspace)、逃逸符(转义符Escape-Character)、制表符(Tab)和响铃符(Bell)。这些控制字符本身通常不会显示在终端屏幕上。
由于控制字符太少,远远不够用来控制终端的各种属性,因此发明出使用转义序列来控制终端属性的方法。转义序列由转义符(Escape – ESC)后跟普通字符序列组成。终端在收到一个转义符时,就会把其后面的几个字符当作主机发送的命令来对待,并对该字符序列作出诠释。在识别出有效的转义序列结束后,终端执行主机的控制命令。随后所接收到的字符将仍然会显示在屏幕上(除非它们也是控制字符或者转义字符序列)。