Linux tty 命令有什么作用? 它显示您正在使用的终端的名称。
Linux tty 的由来
“tty”一词的由来是什么? 嗯,这有点难以解释……
昔日的电传打字机
在 1830 和 1840 年代,开发了称为电传打印机的机器。 这些设备可以将键入的消息“通过网络”传输到其他地方。 发件人使用类似键盘的设备键入消息,并在接收端打印在纸上。 它们是电报的进化步骤,以前依赖于莫尔斯电报。
消息被加密和发送,然后被解码和打印。 它们使用多种技术进行编码。 最著名的也是最多产的之一,于 1874 年由 Émile Baudot 获得专利,“波特率”以他的名字命名。 他的字符编码方法比 ASCII 早了 89 年。
Baudot 的编码最终成为电传打印机编码的事实标准,并被大多数制造商采用。 Baudot 最初的硬件设计只有五个键,类似于钢琴。 对于每个字母,操作员都需要记住一个特定的键序列。 Baudot 编码系统后来与传统的键盘布局相关联。
为了纪念这一进步,这些机器被称为电传打字机。 电传打字机这个词被缩写为 TTYs,最终成为它的通用名称。 那么电报和计算机有什么关系呢?
ASCII 和电传
电传打字机制造商于 1963 年采用它,并成为文本传输的行业标准。 尽管电话的发明和广泛使用,电传打字机仍然很普遍。
Telex 是一个全球性的电传打字网络,允许在世界各地发送书面通信。 它是整个二战后时代发送书面信息的主要方式,直到 1980 年代传真机蓬勃发展。
计算机也在改进。 他们能够与最终用户实时互动并支持许多人。 旧的批处理方法被证明是不够的。 人们不想等待 24 小时或更长时间才能得到结果。 制作成堆的打孔卡并通宵等待结果已不再可接受。
计算机的出现和新技术的发展产生了对允许用户发送和接收数据的软件的需求。 我们想要效率。
电传打字机重新利用
电传打字机是输入/输出设备的理想候选者,因为它是一种允许输入、编码、传输、接收、解码和打印信息的机器。
电传打字机不在乎链接另一端的设备是否不是另一个电传打字机。 电传打字机是可以的,只要它可以说相同的编码语言。 它使用了或多或少的标准键盘,布局略有改变。
硬件模拟电传打字机
电传打字机成为与那个时代的大型小型和大型计算机交互的事实上的方式,取代了电报机。
这些最终被使用电子设备模拟它们的设备所取代,使用阴极射线管 (CRT) 代替纸卷。 当他们从电脑上传递答案时,他们没有动摇。 他们启用了以前不可能的功能,例如在屏幕上移动光标、清除屏幕和 加粗文本, 除其他事项外。
DEC VT05 是早期的虚拟电传打字机,其后代是著名的 DEC VT100。 DEC VT100 已售出数百万台。
软件模拟电传打字机
终端窗口和应用程序(如 x-term 和 Konsole)是 Linux 桌面环境和其他类 Unix 操作系统(如 macOS)中的虚拟电传打字机。 但是,它们是完全模拟的。 它们被称为假电传打字机。 首字母缩略词缩写为 PTS。
这就是 Linux 的 tty 命令的用武之地。
说到 MacOS,你想在 iPad 上安装 Linux 吗?
tty 在 Linux 上能做什么?
Linux 中有一个“伪电传多路复用器”处理所有终端窗口 PTS 连接。 主机是多路复用器,PTS 是它的从机。 内核通过其位于 /dev/ptmx 的设备文件与多路复用器通信
tty 命令将打印您的伪电传从站用于连接到主站的设备文件的名称。 这实际上是终端窗口的数量。
让我们看看 Linux 的 tty 报告了什么:
tty
响应显示我们已连接到位于 /dev/pts/0 的设备文件。
终端窗口是电传打字机的软件模拟,作为 PTS 链接到伪电传打字机多路复用器。 它是零。
沉默的选择
-s(静默)选项导致 tty 不生成输出。
tty -s
如果出现以下情况,它确实会产生退出值:
0:如果标准输入来自 TTY 设备,模拟的或物理的。
1: 如果标准输入不是来自 TTY 设备。
2: 语法错误,使用了不正确的命令行参数。
3: 发生写入错误。
这在 Bash 脚本中最有用。 但是,即使在命令行上,如果您在终端窗口(TTY 或 PTS 会话)中,我们也可能会向您展示如何执行命令。
tty -s && echo "In a tty"
因为我们是在 TTY 会话中运行,所以我们的退出代码为 0,执行第二个命令。
相关:你需要查看这 189 个 Linux 终端命令
谁指挥
“who”命令将列出所有登录的用户。 User2 和 User3 远程连接到 Linux 计算机。 它们连接到 PTS 1 和 2。 User1 显示为连接到“:0”。 屏幕和键盘的设备文件连接到计算机的多路复用器。 虽然屏幕和键盘是硬件设备,但它们仍然通过设备文件链接到多路复用器。 tty 表示它是 /dev/pts/2。
who
访问 TTY
通过按住 Ctrl+Alt 键并按下其中一个功能键,您可以访问全屏 TTY 会话。 Ctrl+Alt+F3 会弹出tty3的登录提示。 如果您登录并发出 tty 命令,您将看到您已连接到 /dev/tty3。
这不是伪造的电传打字机(在软件中模拟); 这是一个虚拟电传打字机(在硬件中模拟)。 它正在模拟虚拟电传打字机,例如 DEC VT100,屏幕和键盘连接到您的计算机。 如果需要,您可以使用功能键和 Ctrl+Alt 组合建立四个 Linux TTY 会话。 例如,如果您选择此选项并登录到 tty3,请按 Ctrl+Alt+F6 转到 tty6。
要返回图形桌面环境,请按 Ctrl+Alt+F2。 如果您使用的是图形桌面环境,按 Ctrl+Alt+F1 将带您回到图形桌面会话的登录屏幕。 使用 Ctrl+Alt+F1 到 Ctrl+Alt+F6 键可以一次性访问全屏 Linux TTY 控制台,通过 Ctrl+Alt+F7 可以返回图形桌面环境。 如果您使用的是较旧的 Linux 发行版,那么它可能适合您。
这在当前版本的 Manjaro、Ubuntu 和 Fedora 上进行了测试,它们的行为都是这样的:
Ctrl+Alt+F1:返回图形桌面环境登录屏幕。
Ctrl+Alt+F2:返回图形桌面环境。
Ctrl+Alt+F3:打开 TTY 3。
Ctrl+Alt+F4:打开 TTY 4。
Ctrl+Alt+F5:打开 TTY 5。
Ctrl+Alt+F6:打开 TTY 6。
访问这些全屏控制台允许用户使用仅命令行安装的 Linux,并且许多 Linux 服务器都是以这种方式配置的,以便可以访问大量控制台。
您是否曾经在具有图形用户界面的 Linux 系统上工作,并且某些东西冻结了您的会话? 您现在可以转到其中一个 TTY 控制台会话来尝试解决问题。
采用 top
和 ps
寻找失败的应用程序,然后用 kill 终止它或尽可能优雅地关闭它。
历史悠久的3个小字母
Linux 的 tty 命令得名于 1800 年代后期的一个过时设备,该设备于 1971 年首次在 Unix 中使用,它仍然是 Linux 和其他类 Unix 操作系统的一部分。 这个小家伙背后有一个故事。