首页 > 系统 > Linux > 正文

Linux 黑话解释 TTY 是啥?

2024-08-27 23:31:44
字体:
来源:转载
供稿:网友
谈到 Linux 和 UNIX 时,你一定听说过 “TTY” 这个术语,但是,这玩意是什么?
 
作为一个桌面用户,它对你有用吗?你需要它吗?你能用它做什么?
 
在本文中,让我向你介绍这些,帮助你熟悉 Linux 中的 TTY。
 
注意:这个问题没有明确的答案,但它与过去的输入/输出设备的交互方式有关。因此,你必须了解一些历史,才能清楚地了解情况。
 
一切始于 19 世纪 30 年代的电传打印机Teleprinter。
 
电传打印机可以让你通过电线发送或接受消息,它取代了摩尔斯电码通信,那是一种需要两个操作员才能有效地相互通信的方式。
 
一台电传打印机只需要一个操作员就可以轻松地传递消息。虽然它没有现代布局的键盘,但它的系统后来由 Donald Murray 在 1901 年进行了改良,包括了一个类似打字机的键盘。
 
Murray 电码减少了操作员发送消息的工作量。这才使得电传打印机在 1908 年有了发展成为商业电传打字机Teletypewriter的可能。TTY 即是电传打字机的缩写。
  
电传打字机和普通打字机typewriter的区别在于,电传打字机连接到通信设备,直接发送输入的消息。
 
电传打字机使人类在没有计算机的情况下通过电线进行更快的通信成为可能。
 
从这时起,“TTY” 一词就存在了。
  
现在,你一定想知道,它是如何进入现代计算机和 Linux 的?
 
最初是当电传打字机进入了市场,几年后半导体晶体管发展起来,然后演变成微处理器,为计算机的出现做好了准备。
 
最初的计算机没有键盘的概念,打孔卡Punch card就是输入的方法。
  
随着计算机的发展,批量输入的打孔卡最终被电传打字机取代,成为一种方便的输入/输出设备。
  
随着技术的进步,电传打字机被电子技术“虚拟化”了。因此,你不需要一个物理的、机械的 TTY,而是一个虚拟的电子 TTY。
 
早期的计算机甚至没有视频屏幕。字符被打印在纸上而不是显示在屏幕上。因此,你会看到“打印print”这个术语而不是“显示display”。随着技术的进步,视频显示后来被添加到终端中。
 
换句话说,你可能听说过把它们称为“视频终端”。或者,你可以称它们为“物理”终端。
 
后来,它们演变成具有更强的能力和功能的软件仿真的终端。
 
这就是所谓的“终端仿真器terminal emulator”,如 GNOME 终端或 Konsole,或者其他 你在 Linux 上找到的各种终端仿真器。
 
所以,Linux 中的 TTY 到底是什么?
在 Linux 或 UNIX 中,TTY 变为了一个抽象设备。有时它指的是一个物理输入设备,例如串口,有时它指的是一个允许用户和系统交互的虚拟 TTY(参考此处)。
 
TTY 是 Linux 或 UNIX 的一个子系统,它通过 TTY 驱动程序在内核级别实现进程管理、行编辑和会话管理。
 
在编程的场景下,你还需要深入研究。但是考虑到本文的范围,这可能是一个容易理解的定义。
 
如果你好奇的话,你可以查看一个有点旧的资源(TTY 揭秘),它尽可能的澄清了 Linux 和 UNIX 系统中的 TTY 的各种技术细节。
 
事实上,每当你在系统中启动一个终端仿真器或使用任何类型的 shell 时,它都会与虚拟 TTY(也被称为伪 TTYpseudo-TTY,即 PTY)进行交互。
 
你可以在终端仿真器中输入 tty 来找到相关联的 PTY。
 
Linux 中的 TTY 命令
 
 
当你在终端模拟器中输入 tty 时,它将打印连接到标准输入的终端文件名,就像手册页描述的一样。
 
换句话说,要知道你连接的 TTY 编号,只需输入 tty。并且,如果有多个用户远程连接到 Linux 机器,你可以使用 who 命令来检查其他用户连接到的是哪个 TTY。

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表