背景介绍
- 原始终端定义:最初计算机由于价格昂贵,一台计算机一般是由多个人同时使用的。在这种情况下一台计算机需要通过串口连接上多套键盘和显示器来供多人使用。这样一套只有显示器和键盘能够通过串口连接到计算机 的设备就叫做终端
- 原始控制台定义:直接连接在计算机上的键盘和显示器就叫做控制台。请注意和终端的区别,终端是通过串口连接上的,不是计算机本身就有的设备,而控制台是计算机本身就有的设备,一个计算机只有一个控制台。计算机启动的时候,所有的信息都会显示到控制台上,而不会显示到终端上。也就是说,控制台是计算机的基本设备,而终端是附加设备。计算机操作系统中,内核消息,后台服务消息,都可以显示到控制台上,但不会显示到终端上。由于控制台也有终端一样的功能,控制台有时候也被模糊的统称为终端。
- 现在的终端与控制台:由于计算机硬件越来越便宜,通常都是一个人独占一台计算机,不再使用串口连接真正意义上的“终端设备”,终端和控制台由硬件的概念慢慢演化成了软件的概念(实现与计算机输入输出功能的软件),两者也不加以区分。比如Linux中的虚拟终端就是用计算机的软件来模拟控制台。用CTRL+ALT+F[1~6]可以切换六个虚拟终端,就好比是以前多人公用的计算机中的六个终端设备。当然,Linux依然可以通过串口连接一个真正的终端
概念
- 物理终端:处理计算机输入输出的一套设备(显示器、键盘等)
- 控制台:与计算机直接连接的物理终端。Linux淡化了控制台与虚拟终端的概念,把当前虚拟终端当作控制台。
- 串口终端:通过串口与计算机连接的物理终端,即原始的终端概念
- 虚拟终端tty:附着于控制台之上,通过软件模拟来实现多控制台(供多用户使用)。或许称为虚拟控制台更准确
- 伪终端pty:附着于某个虚拟终端之上,通过软件来模拟终端。例如通过ssh或talent远程连接的终端或图形界面下打开的终端。
- shell:命令解释器应用程序,用户通过终端输入命令,shell解释命令并进行系统调用。常见的shell有bash、sh等
- Linux把设备当做文件来处理,设备文件保存在/dev/下,若要向某个设备发送数据,可以在命令行上把标准输出重定向到这些特殊文件上即可
相关命令
tty
#结果:/dev/pts/# 表示伪终端
#结果:/dev/tty# 表示虚拟终端
#结果:/dev/console 表示控制台
#结果:/dev/ttys# 表示串口终端
who 或 w #显示当前虚拟终端的相关信息(登录用户等)
本文介绍了计算机终端和控制台的历史演变,从早期的物理设备到现代的虚拟终端和伪终端。讨论了它们在Linux系统中的实现,如CTRL+ALT+F[1~6]切换的虚拟终端,并解释了shell作为命令解释器的角色。此外,还提到了相关命令如`tty`、`who`和`w`用于查看终端和控制台信息。
322

被折叠的 条评论
为什么被折叠?



