ELI5:伪 tty 与终端仿真器与 Shell

ELI5:伪 tty 与终端仿真器与 Shell

我试图了解基本的“幕后”Shell 内容,而无需真正深入研究计算机历史。

例如,我试图理解 CLI shell、终端仿真器和伪 tty 之间的区别。

这是我目前的理解。

  • 终端 (tty) 是过去通过键盘进行交互的文本显示
  • 伪 tty 是模拟终端的任何东西
  • 终端仿真器(例如 iTerm、macOS 上的终端)模拟某些显示系统中的终端
  • Shell 是一个程序,可让您通过命令或脚本与操作系统交互(通常在终端仿真器中运行)

正如你所看到的,我对伪 tty 的定义相当犹豫。谁能以 ELI5 的方式阐明这些概念?

编辑:我读过这个(https://unix.stackexchange.com/a/4132/332070)但我仍然对伪 TTY 感到非常困惑。

答案1

“伪 tty”仅表示“实际上未与物理端口关联的 tty 设备”。如今,由于我们不再使用调制解调器、电传打字机或串行终端,这几乎是唯一一种连接事物的“终端设备”。当您使用 xterm、gnome-terminal 等打开命令行时,您将连接到伪 tty。

如果您有与伪 tty 设备通信的代码或应用程序,它可以使特尔米奥斯调用来控制设备的各个方面(例如奇偶校验生成/检查、回车/换行符映射、某些控制字符的处理等)。

LWN 有一个文章更详细的内容。

你的其余定义似乎是正确的。

相关内容