终端是什么意思?
tty(teletypewriter)电传机,这边按一个按键,主机端接受到一个数据,主机端传出一个数据,电传机打印一个字符。
这个是一切终端(terminal)的祖先,输入字符和打印字符是一体的,主机里面运行的叫程序。
我输入一个字符,主机上接受到一个字符。那我想换行就麻烦了,因为这就是控制字符了,所有要有解释器能把输入来的字符进行分析处理,这个解释器就叫做shell。
显示器的出现,把输入和输出分离开了。时代的发展,我们不用电传机了,把显示器和键盘插到主机上,显示器负责显示程序的输出,键盘负责输入字符到程序里面去,这两个还是叫做终端。
因为linux一切皆文件,终端也是文件。那么就可以通过创建文件来虚拟终端,但是这些文件(虚拟终端)必须也要完成把信息输入到主机中,接受主机传出来的数据。
控制台是直接插到主机上和主机系统交互的终端,直接控制着主机。
后来不用直接插上了,就是虚拟控制台,特点是还能控制核心的东西,也有被用来指比较低级别的只能处理字符,通过字符控制主机的终端,这个概念就是命令行窗口,这里没有鼠标的事,以此和图形化的终端相区别。
伪终端(pseudo-terminal)是被xterm这样的终端模拟器程序在主机上运行模拟出来的终端,它由两个终端组成,一个伪终端主人ptmx,一个叫伪终端仆人pts。对终端主人的操作会被传输到终端仆人,反之亦然,多用在远程登录状态,我在电脑上操作远程的主机,就是操作远程主机上的终端主人,而远程主机还以为是一个人在自己的终端上进行操作,那就是终端仆人。主机上的程序告诉终端仆人的信息都会被通过终端主人传给我的电脑。