当前位置:   article > 正文

什么是哑终端,终端模拟器

哑终端
链接:https://blog.csdn.net/ltx06/article/details/52170852

https://blog.csdn.net/jirryzhang/article/details/70147827

https://www.google.co.in/search?q=%E5%93%91%E7%BB%88%E7%AB%AF%E6%98%AF%E4%BB%80%E4%B9%88&safe=active&ei=-ePFWrmzC4OP8wWY65ngBw&start=10&sa=N&biw=1366&bih=637



作者:任皓
链接:https://www.zhihu.com/question/51478942/answer/212057481
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

tty(teletypewriter)电传机,这边按一个按键,主机端接受到一个数据,主机端传出一个数据,电传机打印一个字符。

这个是一切终端(terminal)的祖先,输入字符和打印字符是一体的,主机里面运行的叫程序。

我输入一个字符,主机上接受到一个字符。那我想换行就麻烦了,因为这就是控制字符了,所有要有解释器能把输入来的字符进行分析处理,这个解释器就叫做shell。

显示器的出现,把输入和输出分离开了。时代的发展,我们不用电传机了,把显示器和键盘插到主机上,显示器负责显示程序的输出,键盘负责输入字符到程序里面去,这两个还是叫做终端。

因为linux一切皆文件,终端也是文件。那么就可以通过创建文件来虚拟终端,但是这些文件(虚拟终端)必须也要完成把信息输入到主机中,接受主机传出来的数据。

控制台是直接插到主机上和主机系统交互的终端,直接控制着主机。

后来不用直接插上了,就是虚拟控制台,特点是还能控制核心的东西,也有被用来指比较低级别的只能处理字符,通过字符控制主机的终端,这个概念就是命令行窗口,这里没有鼠标的事,以此和图形化的终端相区别。

伪终端(pseudo-terminal)是被xterm这样的终端模拟器程序在主机上运行模拟出来的终端,它由两个终端组成,一个伪终端主人ptmx,一个叫伪终端仆人pts。对终端主人的操作会被传输到终端仆人,反之亦然,多用在远程登录状态,我在电脑上操作远程的主机,就是操作远程主机上的终端主人,而远程主机还以为是一个人在自己的终端上进行操作,那就是终端仆人。主机上的程序告诉终端仆人的信息都会被通过终端主人传给我的电脑。

===========

哑终端是只依赖于主机才能进行处理的终端。哑终端没有处理器、硬盘或软盘,只有键盘、显示器和到主机的通信途径(通常通过一些类型的控制器)。而智能终端有自己的处理器、存储设备以及软件程序。

--------

终端Terminal通常是指那些与集中式主机系统(例如IBM大型计算机)相连的“哑”用户设备。终端从用户接收键盘输入,并且将这些输入发送给主机系统。主机系统处理这个用户的键盘输入和命令,然后输出返回并显示在这个终端的屏幕上。个人计算机可以运行称为终端仿真器的一些程序来模仿一个哑终端的工作。

linux 中ctrl+alt+t  打开一个终端。

============

终端,英文叫做terminal ,通常简称为term ,比如我们在X下的xterm.   

控制台,英文叫做console.


  1. 要明白这两者的关系,还得从以前的多人使用的计算机开始。
  2. 大家都知道,最初的计算机由于价格昂贵,因此,一台计算机一般是由多个人同时使用的。
  3. 在这种情况下一台计算机需要连接上许多套键盘和显示器来供多个人使用。
  4. 在以前专门有这种可以连上一台电脑的设备,只有显示器和键盘,还有简单的处理电路,本身不具有处理计算机信息的能力,他是负责连接到一台正常的计算 机上(通常是通过串口) ,然后登陆计算机,并对该计算机进行操作。当然,那时候的计算机操作系统都是多任务多用户的操作系统。这样一台只有显示器和键盘能够通过串口连接到计算机 的设备就叫做终端。  
  5. 而控制台又是什么回事呢?
  6. 学机电的人应该知道,一台机床,或者数控设备的控制箱,通常会被称为控制台,顾名思义,控制台就是一个直接控制设备的台面(一个面板,上面有很多控制按钮)。 在计算机里,把那套直接连接在电脑上的键盘和显示器就叫做控制台。
  7. 请注意它和终端的区别,终端是通过串口连接上的,不是计算机本身就有的设备,而控制台是 计算机本身就有的设备,一个计算机只有一个控制台。
  8. 计算机启动的时候,所有的信息都会显示到控制台上,而不会显示到终端上。也就是说,控制台是计算机的基 本设备,而终端是附加设备。
  9. 当然,由于控制台也有终端一样的功能,控制台有时候也被模糊的统称为终端。
  10. 计算机操作系统中,与终端不相关的信息,比如内核消息,后台服务消息,都可以显示到控制台上,但不会显示到终端上。  
  11. 以上是控制台和终端的历史遗留区别。
  12. 现在由于计算机硬件越来越便宜,通常都是一个人独占一台计算机超做,不再连接以前那种真正意义上的“终端设备了”,因此,终端和控制台的概念也慢慢演化了。终端和控制台由硬件的概念,演化成了软件的概念。
  13. 现在说的终端,比如linux中的虚拟终端,都是软件的概念,他用计算机的软件来模拟以前硬件的方式。
  14. 比如在linux中,用 alt+f1~f6 可以切换六个虚拟终端,就好比是以前多人公用的计算机中的六个终端设备,这就是为什么这叫“虚拟终端”的原因。
  15. 当然,现在的linux也可以通过串口 线,连接一个真正的终端,现在这种终端设备已经非常罕见了,但是还存在,只是一般人很难见到。也有人利用以前的老电脑(386486)装上一个串口通信 软件,连上一台计算机,来模拟一个终端来用。这样可以达到一台电脑多人使用的目的。
  16. 简单的说,能直接显示系统消息的那个终端称为控制台,其他的则称为终端。
  17. 但是在linux系统中,这个概念也已经模糊化了。
  18. 比如下面这条命令:echo "hello,world" > /dev/console  这条命令的目的是将"hello,world"显示到控制台上/dev/console是控制台设备的设备名。
  19. 在linux中,在字符模式下,你无论在哪个虚拟终端下执行这条命令,字符hello,world都会显示在当前的虚拟终端下。也就是说,linux把当前的终端当作控制台来看待。
  20. 可见,linux中已经完全淡化了控制台和终端的区别。
  21. 但是在其他的UNIX类系统中,却很明显的有虚拟终端和控制台的区别。比如 freeBSD系统。
  22. 在freebsd中,只有第一个“终端”才是真正的控制台。(就是说按alt+f1得到的那个虚拟终端) ,你无论在哪个虚拟终端上执行上面的那条命令(哪怕是通过网络连接的伪终端上执行这条命令)。hello,world字符总会显示到第一个“终端”也就是 真正的控制台上。
  23. 另外,其他的一些系统内部信息,比如哪个用户在哪个终端登陆,系统有何严重错误警告等信息,全都显示在这个真正的控制台上。在这里,就明显的区分了终端和控制台的概念。
  24. 其他UNIX中也是这样的。比如Tru64 unix 在X下有一个控制台模拟软件,你无论在哪里输入echo "hello,world" > /dev/console命令,hello,world总会显示在这个控制台模拟器中。
  25. 我们在X界面下用的那些输入命令的软件,比如xterm ,rxvt, gnome-terminal等等,都应该被称为终端模拟软件。请注意它和控制台模拟软件的区别。
  26. linux中好象没有控制台模拟软件。在X中的终端模拟软件中输入的echo "hello,world">/dev/console 命令的输出信息,都会输出到启动该X服务器的虚拟终端上。比如,你用字符方式登陆系统。进入第一个虚拟终端,然后startx启动X服务器。再打开 xterm 来输入echo"hello,world">/dev/console 命令,那么字符串hello,world就显示在第一个虚拟终端上。你按ctrl+alt+f1,回到那个启动X服务器的终端,就可以看到hello, world字符串。
  27. 现在该明白终端和控制台的区别了吧。
  28. 再简单的说,控制台是直接和计算机相连接的原生设备,终端是通过电缆、网络等等和主机连接的设备。
  29. 在以前的硬件终端设备中,由于生产厂家不同,所遵循的标准不同,因此有不同的型号标准。比如vt100等。这里的vt100就是一个标准,那么现在我 们所说的终端,往往不是真正的硬件终端了,而是终端模拟软件了,因此不同的终端模拟软件可能符合不同的标准,还有一些终端模拟软件符合很多种不同终端的标准。比如gnome的终端模拟软件gnome-terminal,他提供好几中标准可供用户选择。用户只要设置一下就可以了。
  30. 现在,由于原先的这些设备在我们的视线中渐渐淡出,控制台和终端的概念也慢慢谈化。
  31. 普通用户可以简单的把终端和控制台理解为:可以输入命令行并显示程序运行过程中的信息以及程序运行结果的窗口。不必要严格区分这两者的差别。
  32. ——by:http://blog.csdn.net/caomiao2006/article/details/8791775
  33. ******************************************************************华丽分割线********************************************************
  34. 从历史角度看,终端刚开始就是终端机,配有打印机,键盘,带有一个串口,通过串口传送数据到主机端,然后主机处理完交给终端打印出来。
  35. 那么现在终端也就是键盘+显示器。但是不同的设备可能协议不同,要操作系统怎么识别呢?简单。就像linux 的虚拟文件系统一样,抽象出一层就可以了。
  36. tty层横空出世,tty的一边是操作系统,一边是不同的设备驱动。大家知道,在linux下所有的设备都是文件,那么假设我们要打印到显示器,只要write到显示器对应的tty层的文件,然后它自己去匹配合适的驱动,这部分就不是系统考虑的问题了。
  37. 现在的终端还是实体(也就是有实际的硬件),只不过由tty层做了逻辑抽象。
  38. 但是随着互联网的兴起,人们有了远程使用计算机的要求,于是终端仿真系统诞生了。把本地PC当成是一个终端,远程的计算机当成是主机。由软件模拟硬件终端的工作过程(无非就是编码格式,电位等等,设计组成原理等)。比如现在嵌入式开发,不就是把个人PC当作输出输出工具,由开发板做主机么?
  39. 现在的个人计算机常常被仿真成一个终端与主机相连(虽然没让我发现有什么优点,也许是为了本地用户和远程用户的同等地位?)
  40. 人们用终端仿真技术开发了各种的虚拟终端,伪终端等等。相当于PC不在逻辑上处理数据,只是按照行业标准,进行数据传输(应该有编码过程?)和接受显示(解码?)
  41. 此时此刻,终端已经不是狭义的硬件了,它更多的被理解为模拟硬件的软件。
  42. 现在说说tty。之前提到了,抽象为了tty层。为什么叫tty呢?
  43. Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,和古老的电报机区别并不是很大。最终,电传打字机被键盘和显示器终端(这里时硬件)所取代,但在终端或TTY接插的地方,操作系统仍然需要一个程序来监视串行窗口。一个getty“Get TTY”的处理过程是:一个程序监视物理的TTY/终端接口。
  44. 从上面百度百科的定义,可以知道,后来getty就是一个见识TTY/终端的接口,那么这个将操作系统内核和终端连接的层叫什么名字也就呼之欲出了。
  45. ——by:http://blog.chinaunix.net/uid-28596231-id-3516101.html
  46. tty也是一个Unix命令,用来给出当前终端设备的名称。
  47. 终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。
  48. 在Linux系统的设备特殊文件目录/dev/下,终端特殊设备文件一般有以下几种:
  49. 1.串行端口终端(/dev/ttySn)
  50. 串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。有段时间这些串行端口设备通常被称为终端设备,因为那时它的最大用途就是用来连接终端。这些串行端口所对应的设备名称是/dev/tts/0(或/dev/ttyS0),/dev/tts/1(或/dev/ttyS1)等,设备号分别是(4,0),(4,1)等,分别对应于DOS系统下的COM1、COM2等。若要向一个端口发送数据,可以在命令行上把标准输出重定向到这些特殊文件名上即可。例如,在命令行提示符下键入:echo test > /dev/ttyS1会把单词”test”发送到连接在ttyS1(COM2)端口的设备上
  51. 2.伪终端(/dev/pty/
  52. 伪终端(Pseudo Terminal)是成对的逻辑终端设备(即master和slave设备,对master的操作会反映到slave上)。
  53. 例如/dev/ptyp3和/dev/ttyp3(或者在设备文件系统中分别是/dev/pty /m3和 /dev/pty/s3)。它们与实际物理设备并不直接相关。如果一个程序把ptyp3(master设备)看作是一个串行端口设备,则它对该端口的读/ 写操作会反映在该逻辑终端设备对应的另一个ttyp3(slave设备)上面。而ttyp3则是另一个程序用于读写操作的逻辑设备。telnet主机A就是通过“伪终端”与主机A的登录程序进行通信。
  54. 3.控制终端(/dev/tty)
  55. 如果当前进程有控制终端(Controlling Terminal)的话,那么/dev/tty就是当前进程的控制终端的设备特殊文件。可以使用命令”ps –ax”来查看进程与哪个控制终端相连。对于你登录的shell,/dev/tty就是你使用的终端,设备号是(5,0)。使用命令”tty”可以查看它具体对应哪个实际终端设备。/dev/tty有些类似于到实际所使用终端设备的一个联接。
  56. 4.控制台(/dev/ttyn, /dev/console)
  57. 在Linux 系统中,计算机显示器通常被称为控制台终端(Console)。它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2 等。当你在控制台上登录时,使用的是tty1。使用Alt+[F1—F6]组合键时,我们就可以切换到tty2、tty3等上面去。tty1–tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上(这时也叫控制台终端)。因此不管当前正在使用哪个虚拟终端,系统信息都会发送到控制台终端上。/dev/console即控制台,是与操作系统交互的设备,系统将一些信息直接输出到控制台上。只有在单用户模式下,才允许用户登录控制台。
  58. 5.虚拟终端
  59. 在Xwindow模式下的伪终端.如在Kubuntu下用konsole,就是用的虚拟终端,用tty命令可看到/dev/pts/name, name为当前用户名。
  60. 6.其他类型
  61. Linux系统中还针对很多不同的字符设备存在有很多其它种类的终端设备特殊文件。例如针对ISDN设备的/dev/ttyIn终端设备等。
  62. tty设备包括虚拟控制台,串口以及伪终端设备。
  63. /dev/tty代表当前tty设备,在当前的终端中输入 echo “hello” > /dev/tty ,都会直接显示在当前的终端中。
  64. Text Telephones (TTY)
  65. 聋哑人电话,在手机插入专用设备后支持收发文本,需网络支持,中国网络不支持TTY.
  66. 除聋哑模式外,还支持只听不说(HCO)和只说不听(VCO)两种模式
  67. ——by:百度百科
  68. **************************************************************华丽分割线************************************************************
  69. shell (计算机壳层)
  70. 在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
  71. 同时它又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
  72. PS:在排序算法中,Shell是希尔排序的名称。
  73. 基本上shell分两大类:
  74. 一:图形界面shell(Graphical User Interface shell 即 GUI shell)
  75. 例如:应用最为广泛的 Windows Explorer (微软的windows系列操作系统),还有也包括广为人知的 Linux shell,其中linuxshell 包括 X window manager (BlackBox和FluxBox),以及功能更强大的CDE、GNOME、KDE、 XFCE。
  76. 二:命令行式shell(Command Line Interface shell ,即CLI shell)
  77. 例如:
  78. bash / sh / ksh / csh(Unix/linux 系统)
  79. (MS-DOS系统)
  80. cmd.exe/ 命令提示字符(Windows NT 系统)
  81. Windows PowerShell(支援 .NET Framework 技术的 Windows NT 系统)
  82. 传统意义上的shell指的是命令行式的shell,以后如果不特别注明,shell是指命令行式的shell。
  83. 文字操作系统与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。
  84. shell提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以shell script(非交互)方式执行。shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。
  85. Shell基本上是一个命令解释器,类似于DOS下的command。它接收用户命令(如ls等),然后调用相应的应用程序。较为通用的shell有标准的Bourne shell (sh)和C shell (csh)。
  86. 交互式shell和非交互式shell
  87. 交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。
  88. shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。
  89. shell的类型
  90. 在UNIX中主要有:
  91. Bourne shell (包括 sh,ksh,and bash)
  92. Bourne shell ( sh)
  93. Korn shell ( ksh)
  94. Bourne Again shell ( bash)
  95. POSIX shell ( sh)
  96. C shell (包括 csh and tcsh)
  97. C shell ( csh)
  98. TENEX/TOPS C shell ( tcsh)
  99. Bourne Shell
  100. 首个重要的标准Unix Shell是1970年底在V7 Unix(AT&T第7版)中引入的,并且以它的创始科技部基础条件平台“国家气象网络计算应用节点建设”(2004DKA50730)资助者Stephen Bourne的名字命名。Bourne shell 是一个交换式的命令解释器和命令编程语言。Bourne shell 可以运行为login shell或者login shell的子shell(subshell)。只有login命令可以调用Bourne shell作为一个login shell。此时,shell先读取/etc/profile文件和$HOME/.profile文件。/etc/profile文件为所有的用户定制环境,$HOME/.profile文件为本用户定制环境。最后,shell会等待读取你的输入。
  101. C Shell
  102. Bill Joy于20世纪80年代早期,在伯克利的加利福尼亚大学开发了C shell。它主要是为了让用户更容易的使用交互式功能,并把ALGOL风格的语法结构变成了C语言风格。它新增了命令历史、别名、文件名替换、作业控制等功能。
  103. Korn Shell
  104. 有很长一段时间,只有两类shell供人们选择,Bourne shell用来编程,C shell用来交互。为了改变这种状况,AT&T的bell实验室David Korn开发了Korn shell。ksh结合了所有的C shell的交互式特性,并融入了Bourne shell的语法。因此,Korn shell广受用户的欢迎。它还新增了数学计算,进程协作(coprocess)、行内编辑(inline editing)等功能。Korn Shell 是一个交互式的命令解释器和命令编程语言.它符合POSIX——一个操作系统的国际标准.POSIX不是一个操作系统,而是一个目标在于应用程序的移植性的标准——在源程序一级跨越多种平台。
  105. Bourne Again Shell (bash)
  106. bash是GNU计划的一部分,用来替代Bourne shell。它用于基于GNU的系统如Linux.大多数的Linux(Red Hat,Slackware,Caldera)都以bash作为缺省的shell,并且运行sh时,其实调用的是bash。
  107. POSIX Shell
  108. POSIX shell 是Korn shell的一个变种. 当前提供POSIX shell的最大卖主是Hewlett-Packard。在HP-UX 11.0,POSIX shell 就是/bin/sh,而bsh是/usr/old/bin/sh.
  109. 各主要操作系统下缺省的shell:
  110. AIX下是Korn Shell.
  111. Solaris缺省的是Bourne shell.
  112. FreeBSD缺省的是C shell
  113. HP-UX缺省的是POSIX shell.
  114. Linux是Bourne Again shell.(即bash)
  115. Windows PowerShell是一种新的交互式的命令行和基于任务脚本编写技术,它使信息技术(IT) 管理员能够全面地自动操作和控制系统管理任务,从而提高了管理员的生产力。Windows PowerShell 包括多个系统管理实用工具、一致的语法和命名惯例、及对普通管理数据更好地导航,如登记、证书存储 或 Windows Management Instrumentation (WMI)。Windows PowerShell 还专门针对 IT 管理,提供直观的脚本编写语言。
  116. Shell也是一个VB函数,它的作用是运行程序,语法是Shell(命令字符串[,窗口类型]) ——by:百度百科
  117. ++++++++++++++++++++++++++++++++++++++++++++++++++++华丽分割线++++++++++++++++++++++++++++++++++++++++++++++++++++++
  118. 我们在终端模拟器中输入命令时,终端模拟器本身并不解释执行这些命令,它只负责输入输出,真正解释执行这些命令的,是shell。

=================

那么到底为什么叫哑终端:

This article seems to be about computer terminals, not the subclass of computer terminals that are dumb.

I've always understood "dumb terminal" to mean a terminal without "intelligent" capabilities like cursor addressing, bolding, etc. A quick google search confirmed references consistent with my understanding. For example:

"A display monitor that has no processing capabilities. A dumb terminal is simply an output device that accepts data from the CPU. In contrast, a smart terminal is a monitor that has its own processor for special features, such as bold and blinking characters. Dumb terminals are not as fast as smart terminals, and they do not support as many display features, but they are adequate for most applications."  webopedia.

This is also covered in the computer terminal article.

I'm also unfamiliar with the definition of a "smart terminal" to be a PC or a "network computer". Any type of computer is not a terminal, by definition. Therefore a smart terminal cannot be a personal or network computer.

On any Unix-like computer you can define a terminal type to be any number of "smart" terminal types, including vt100. But you also have a choice of setting it to dumb, which means the terminal has very limited capabilities.

At most, I think the usage of dumb terminal to mean any computer terminal should be a foot note.

--Serge 06:30, 12 December 2005 (UTC)

The term "Dumb Terminal" or "Dumb Device" Could also mean that it has very little access or can do very little and is therefore limited in its abilities to process jobs whereas a "intelligent Device" can do far more and sometimes far quicker. — Preceding unsigned comment added by 194.83.71.166 (talk) 12:37, 22 September 2006 (UTC)

As long as the portion of the article that this article is merged with can be found by searching WikiPedia using the phrase 'dumb terminal' it should be no problem. --mlewis000 11:11, 9 December 2006 (UTC)

以上是维基百科的说法。


计算机科学中,哑终端表示一个相对于其他种类比较“聪明”的计算机终端来说,功能较为有限的计算机终端。其具体的含义根据不同的语境(场合)而变化。

在老式的采用RS-232串行口连接的计算机终端里,哑终端指不能执行诸如“删行”(clearing a line)、“清屏”(clearing a screen)或“控制光标位置”(control cursor position)的一些特殊乱序操作(escape sequences 如 en:ANSI escape code)的计算机终端。在此意义上,哑终端还被称作透明电传打字机glass teletypes),因为它与电传打字机有着类似的有限功能。这类哑终端仍然被现代的类Unix操作系统所支持。可以将系统的环境变量TERM设置为dumbsmartintelligent是指那些能执行乱序操作(escape sequences)的终端。(This type of dumb terminal is still supported on modern Unix-like systems by setting the environment variable TERM to dumbSmart or intelligent terminals are those that have the ability to process the special escape sequences. )

在更宽的意义上,哑终端包括了所有形式的包含键盘和屏幕的计算机通信设备。包括个人电脑(personal computers)、无盘工作站(diskless workstations)、网络电脑(network computers)、瘦客户端(thin clients)和X终端(X Terminals)。

哑终端有时候也指任何类型的采用RS-232串行通信方式连接的老式计算机终端

=====

发展史

计算机终端伴随计算机系统的集中处理模式而产生,并随着计算机技术的发展而不断发展。迄今为止,计算技术经历了大型机、中型机、小型机、微型机、个人电脑(PC机)、网络计算等发展时期,终端与计算技术发展相适应,也经历了字符哑终端、图形终端、网络终端等形态。
在老式的采用RS-232串行通信接口连接的计算机终端里,哑终端从狭义来说,指不能执行诸如“删行(clearing a line)”、“清屏(clearing a screen)”或“控制光标位置(control cursor position)”等特殊换码顺序(escape sequences)操作的计算机终端。在此意义上,哑终端也被称作透明的电传打字机(Telegraphic type-writer,即TTY),因为它与电传打字机有着类似的有限的功能。这种哑终端功能仍然被现代的类Unix操作系统所支持,比如可以将Unix系统的环境变量TERM设置为dumb、smart或intelligent来确定是否支持某些特殊的换码顺序(escape sequences)操作。
哑终端的“哑”,是因为它只能用来发送、接收和显示字符,不能在它上面运行任何程序、进行任何计算或复杂的交互操作。哑终端没有内部处理器、硬盘或软盘,只有键盘、显示器和连接到主机的通信线路(通常通过串口控制器)。所以哑终端也表述为任何类型的采用RS-232串行通信方式连接的老式计算机终端,其既不处理本地数据,也不运行用户程序,只能通过键盘输入字符、通过显示器屏幕输出字符结果的计算机终端。
在更宽的意义上,哑终端包括了所有形式的包含键盘和屏幕的计算机通信或外部设备,包括个人电脑(Personal Computers)、无盘工作站(Diskless Workstations)、网络电脑(Network Computers)、瘦客户端(Thin Clients)和X终端(X Terminals)。

=============

本章内容

  • 访问命令行

  • 通过Linux控制台终端访问CLI

  • 通过图形化终端仿真器访问CLI

  • 使用GNOME终端仿真器

  • 使用Konsole终端仿真器

  • 使用xterm终端仿真器

在Linux早期,可以用来工作的只有shell。那时,系统管理员、程序员和系统用户都端坐在Linux控制台终端前,输入shell命令,查看文本输出。如今,伴随着图形化桌面环境的应用,想在系统中找到shell提示符来输入命令都变得困难起来。本章讨论了如何进入命令行环境,带你逐步了解可能会在各种Linux发行版中碰到的终端仿真软件包。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/494177
推荐阅读
相关标签
  

闽ICP备14008679号