什么是linux上的tty?(以及如何使用tty命令)

tty命令做什么?它打印出你正在使用的终端的名称。TTY代表“电传打字机”。司令部名字背后的故事是什么?这需要更多的解释。...

tty命令做什么?它打印出你正在使用的终端的名称。TTY代表“电传打字机”。司令部名字背后的故事是什么?这需要更多的解释。

19世纪的电传打字机

在19世纪30年代和19世纪40年代,被称为电传打字机的机器被开发出来。这些机器可以把打印出来的信息“通过网络”发送到遥远的地方。这些信息是发送者用键盘键入的。它们被印在接收端的纸上。它们是电报业的一个进化步骤,以前电报业一直依赖莫尔斯电码和类似的电码。

信息被编码和传输,然后被接收、解码和打印。有几种技术被用来编码和解码信息。最著名的,也是最多产的,是1874年由埃米尔·波多获得专利的,波特率就是以此命名的。他的字符编码方案比ASCII早89年。

鲍多的编码最终成为最接近电传打字机编码标准的东西,并被大多数**商采用。波多特最初的硬件设计只有五个键,类似于钢琴键。操作员被要求为每个字母学习一个特定的键组合。最终,波多特编码系统与传统的键盘布局相结合。

为了纪念这一进步,这些机器被命名为电传打字机。这被缩短为电传打字机,并最终到TTYs。所以这就是我们的缩写TTY的来源,但是电报和计算有什么关系呢?

ascii和电传

当ASCII在1963年到来时,它被电传打字机**商采用。尽管电话的发明和广泛使用,电传打字机仍然很强大。

电传是一种世界范围的电传打字机网络,允许在全球范围内发送书面信息。在第二次世界大战之后到20世纪80年代传真机的繁荣时期,它们是传输书面信息的主要手段。

计算机也在进化。他们正在变得能够与用户实时交互,并支持多个用户。旧的批量工作方法变得不充分了。人们不想等待24小时或更长时间的结果。**成堆的穿孔卡片,整夜等待结果已经不再是可以接受的了。

人们需要一种能让他们输入指令并将结果发送给他们的设备。人们想要效率。

电传打字机改变了用途

电传打字机是输入/输出设备的最佳选择。毕竟,它是一种允许输入、编码、发送、接收、解码和打印消息的设备。

如果连接另一端的设备不是另一个电传打字机,电传打字机关心什么?只要它说的是相同的编码语言,能够接收信息并发回信息,电传打字机就很高兴。

当然,它使用了或多或少的标准键盘。

硬件模拟电传打字机

电传打字机成了那个时代与大型微型计算机和大型计算机交互的默认方式。

它们最终被用电子技术模仿那些机电机器的设备所取代。它们用阴极射线管(CRT)代替纸卷。当他们从电脑上做出回应时,他们没有颤抖。他们允许迄今为止不可能的功能,如在屏幕上移动光标、清除屏幕、加粗文本等等。

DEC VT05是虚拟电传打字机的早期示例,也是著名的DEC VT100的前身。售出了数百万台DEC VT100。

软件模拟电传打字机

在Linux和其他类似Unix的操作系统(如macOS)的桌面环境中,终端窗口和应用程序(如x-term和K***ole)就是虚拟电传打字机的例子。但这些都是完全用软件模拟的。它们被称为伪电传打字机。这被缩短为临时秘书处。

这就是tty的用武之地。

tty能告诉我们什么?

在Linux中,有一个伪电传打字机多路复用器,它处理来自所有终端窗口伪电传打字机(PTS)的连接。多路复用器是主设备,而PTS是从设备。多路复用器由内核通过位于/dev/ptmx的设备文件寻址。

tty命令将打印伪电传打字机从机用于与主机接口的设备文件的名称。实际上,这就是终端窗口的编号。

让我们看看tty为我们的终端窗口报告了什么:

tty

什么是linux上的tty?(以及如何使用tty命令)

响应显示我们已连接到位于/dev/pts/0的设备文件。

我们的终端窗口是电传打字机(TTY)的软件仿真,它作为伪电传打字机(PTS)与伪电传多路复用器接口。正好是数字0。

沉默的选择

-s(silent)选项使tty不生成输出。

tty -s

什么是linux上的tty?(以及如何使用tty命令)

它确实会产生一个退出值,但是:

  • 0:如果标准输入来自TTY设备,模拟或物理。
  • 1:如果标准输入不是来自TTY设备。
  • 2:语法错误,使用了不正确的命令行参数。
  • 3:发生写入错误。

这在Bash脚本编写中可能最有用。但是,即使在命令行上,我们也可以演示如何仅在终端窗口(TTY或PTS会话)中运行命令。

tty -s && echo "In a tty"

什么是linux上的tty?(以及如何使用tty命令)

因为我们在TTY会话中运行,所以退出代码是0,执行第二个命令。

什么是linux上的tty?(以及如何使用tty命令)

世卫组织指挥部

其他命令可以显示您的TTY号码。who命令将列出所有登录用户的信息,包括您自己。

亚历克和玛丽远程连接到Linux计算机。它们与临时秘书处一号和二号相连。

用户dave显示为已连接到“:0”。

这表示实际连接到计算机的屏幕和键盘。即使屏幕和键盘是硬件设备,它们仍然通过设备文件连接到多路复用器。tty显示它是/dev/pts/2。

who tty

什么是linux上的tty?(以及如何使用tty命令)

相关:如何在Linux中确定当前用户帐户

访问tty

您可以通过按住Ctrl+Alt键并按其中一个功能键来访问全屏TTY会话。

Ctrl+Alt+F3会弹出tty3的登录提示。

什么是linux上的tty?(以及如何使用tty命令)

如果您登录并发出tty命令,您将看到您已连接到/dev/tty3。

这不是一个伪电传打字机(用软件模拟);它是一个虚拟电传打字机(用硬件模拟)。它是使用屏幕和键盘连接到您的计算机,以模拟一个虚拟电传打字机一样的DEC VT100过去做。

您可以将功能键Ctrl+Alt与功能键F3到F6配合使用,如果您选择,还可以打开四个TTY会话。例如,您可以登录到tty3并按Ctrl+Alt+F6转到tty6。

什么是linux上的tty?(以及如何使用tty命令)

要返回图形桌面环境,请按Ctrl+Alt+F2。

按Ctrl+Alt+F1将返回图形桌面会话的登录提示。

有一次,Ctrl+Alt+F1到Ctrl+Alt+F6将打开全屏TTY控制台,而Ctrl+Alt+F7将使您返回图形桌面环境。如果您运行的是较旧的Linux发行版,那么您的系统可能就是这样运行的。

这是在Manjaro、Ubuntu和Fedora的当前版本上测试的,它们的行为都是这样的:

  1. Ctrl+Alt+F1:返回图形桌面环境登录屏幕。
  2. Ctrl+Alt+F2:返回图形桌面环境。
  3. Ctrl+Alt+F3:打开TTY 3。
  4. Ctrl+Alt+F4:打开TTY 4。
  5. Ctrl+Alt+F5:打开TTY 5。
  6. Ctrl+Alt+F6:打开TTY 6。

通过访问这些全屏控制台,人们可以使用仅限命令行的Linux安装,许多Linux服务器都是这样配置的,即可以使用多个控制台。

曾经在一台带有图形桌面环境的Linux机器上工作过,并且有什么东西导致您的会话冻结?现在,您可以跳到TTY控制台会话之一,以便尝试纠正这种情况。

您可以使用top和ps尝试识别失败的应用程序,然后使用kill终止它,或者只使用shutdown尝试在计算机状态允许的情况下优雅地关闭它。

相关:如何从Linux终端终止进程

三封有很多历史的信

tty命令的名称来自19世纪末的一个设备,1971年出现在Unix中,至今仍是Linux和类Unix操作系统的一部分。

这个小家伙背后有很多故事。

 

  • 发表于 2021-04-03 08:54
  • 阅读 ( 198 )
  • 分类:互联网

你可能感兴趣的文章

如何在mac和iphone上使用实时文本(rtt)通话

... 为什么您可能需要rtt电话 ...

  • 发布于 2021-03-21 15:23
  • 阅读 ( 330 )

linux中的进程是什么?

... 什么是过程(a process)? ...

  • 发布于 2021-03-27 02:21
  • 阅读 ( 238 )

如何在linux上使用tail命令

...这是否意味着tail命令是寻找问题的解决方案呢?它还有什么可以提供的吗? tail命令不仅仅是实时显示更新。对于这一点,仍然有大量的日志文件不是系统生成的,仍然是作为纯文本文件创建的。例如,应用程序生成的日志文件...

  • 发布于 2021-04-02 17:32
  • 阅读 ( 183 )

如何在linux上使用dmesg命令

...来自“kernel”工具的消息,级别为“info” 很好,但是为什么? 简言之,故障查找。 如果您遇到硬件无法识别或无**常工作的问题,dmesg可能会对该问题有所帮助。 使用dmesg检查从最高级别到每个较低级别的消息,查找提到硬件...

  • 发布于 2021-04-02 21:09
  • 阅读 ( 220 )

如何在linux的bashshell中复制和粘贴文本

...历史悠久的函数的情况下执行复制和粘贴文本。我们能用什么? 相关:如何在Ubuntu中使用快捷键来提高效率 ctrl+shift+c和ctrl+shift+v 很容易记住,因为它们非常相似,Ctrl+Shift+C和Ctrl+Shift+V是Ctrl+C和Ctrl+V的直接替代品。 如果用鼠标...

  • 发布于 2021-04-03 03:36
  • 阅读 ( 243 )

linux下如何使用finger命令

...finger。也许您继承了一些期望finger可用的脚本。但不管是什么原因,如果你被迫或只是喜欢使用手指,这里是如何安装和使用它。 相关:如何在Linux上使用pinky命令 安装手指 您可以使用以下命令在Ubuntu上安装finger: sudo apt-get i...

  • 发布于 2021-04-03 04:04
  • 阅读 ( 172 )

如何在linux上使用pinky命令

...计算机的物理键盘和屏幕。 空闲:空闲时间。这说明了什么?????如果此人在X-windows显示管理器下运行,则该管理器不提供该信息。 何时:用户登录的时间和日期。 其中:用户登录的位置。通常,这是远程计算机的IP地址...

  • 发布于 2021-04-03 09:58
  • 阅读 ( 174 )

linux下如何确定当前用户帐号

如果说Linux有什么意义的话,那就是选择。你甚至可以完成一个简单的任务,比如在很多方面识别当前用户。本教程将向您展示如何使用一些最快速、最简单的方法。 为什么需要查找当前用户的身份?在许多情况下,计算机的所...

  • 发布于 2021-04-03 16:59
  • 阅读 ( 140 )

作为ssh参数运行命令时,如何使密码不可见?

...ile because it can have unwanted effects for non-interactive commands. 有什么要补充的解释吗?在评论中发出声音。想从其他精通技术的Stack Exchange用户那里了解更多答案吗?在这里查看完整的讨论主题。 图片来源:Linux截图(Flickr)

  • 发布于 2021-04-08 18:39
  • 阅读 ( 124 )

如何创建apparmor配置文件来锁定ubuntu上的程序

AppArmor会锁定你的Ubuntu系统上的程序,只允许它们在正常使用时所需的权限,这对于可能被破坏的服务器软件尤其有用。AppArmor包括一些简单的工具,可以用来锁定其他应用程序。 默认情况下,AppArmor包含在Ubuntu和其他一些Linux...

  • 发布于 2021-04-12 08:43
  • 阅读 ( 143 )
un338
un338

0 篇文章

相关推荐