1. 什么是终端
<Linux_UNIX系统编程手册下>的第62.1介绍了整体概览,但是说得比较模糊,什么是终端这个问题请参考下面的博客:
https://www.cnblogs.com/changrunwei/p/15759664.html
它讲解了以下概念:
- 终端(UNIX和Linux把人和机器可以交互的接口称为终端)
- 终端服务器
- 控制台(console)
- 终端模拟程序
2. 终端回显的原理图
我自己对上图的理解如下:
我的SETUP是这样的: 我有两个设备,设备A是UNIX host,设备B是一个实际意义上的终端设备(为什么?因为AB用RS232线缆连接,我在设备B上输入信息或者命令并获得设备A的反馈)
我们又知道,UNIX/Linux连接到系统上的终端会抽象成字符设备比如:/dev/ttyn或者/dev/ttyUSBn, 所以上图又可以这样看: 终端设备交互主机设备的本质就是去操作主机设备上的/dev/ttyn或者/dev/ttyUSBn设备节点,或者说与主机设备的终端驱动程序打交道,而终端驱动就可以理解为一个虚拟的终端设备(因为它对外暴露了设备节点,使人可以对设备节点进行读写操作进而或者主机信息)
另外,对echo回显的理解,可以参考下面的博客,结合我画的图,会比较形象:
终端回显(echo) - 简书