Ctrl-S 有什么意义?

Ctrl-S 有什么意义?

Ctrl+S停止到终端的所有输出,可以使用Ctrl+重新启动Q

但是,为什么Ctrl+S首先存在呢?通过设置该控制序列试图解决什么问题?

答案1

早在计算机出现之前,就有电传打字机(又名电传打字机,又名电传打字机)。将它们视为与电报大致相同的技术,但附加了某种类型的键盘和某种类型的打印机。

由于电传打字机在计算机首次制造时就已经存在,并且由于当时的计算机有房间大小,因此电传打字机成为第一台计算机的便捷用户界面 - 输入命令,点击发送按钮,等待一段时间,然后命令的输出被打印到您面前的一张纸上。

软件流量控制起源于这个时代 - 例如,如果打印机无法像电传打字机接收数据一样快地打印,则电传打字机可以向远程端发送 XOFF 流控制命令 ( Ctrl+ S),表示“现在停止传输”,然后可以向远程端发送 XON 流量控制命令 ( Ctrl+ Q),表示“我已赶上,请继续”。

这种用法在 Unix 中仍然存在,因为现代终端仿真器正在模拟物理终端(例如VT100)它们本身(在某些方面)模仿电传打字机。

答案2

这是 VT100 终端及类似终端时代的控制字符。这些终端上的滚动功能(如果有的话)有限,从 CTRL-S 开始,您可以冻结输出以查看当前屏幕上的内容,而不会被注销。

您在现代终端中看到的大多数内容都是为了模拟那些旧的终端系统。

答案3

顺便说一句,如果您在屏幕上列出很长的输出,那么您的阅读速度可能不一定像输出输出的计算机一样快。在猫(或活动的尾巴)上使用 CTRL-S/CTRL-Q 对于停止和恢复输出非常有用。

答案4

在带有纸带阅读器的古代电传打字机上,收到 Control-Q 将打开纸带阅读器并开始从磁带发送字符,就像在键盘上输入的一样。 Control-S 将关闭纸带读取器。如果人们认为电传打字机最初的目的不是打印来自计算机的数据,而是打印来自其他电传打字机的数据,那么“关闭纸带阅读器”可以被解释为类似于“请求另一端停止传输”,这一点应该很清楚。

顺便说一句,control-R 将打开纸带打孔器,这样电传打字机接收到的每个字符(或者,如果启用了本地回显,则在键盘上键入)也将被打到纸带上; control-T 将关闭纸带打孔器。然而,与 control-S 和 control-Q 相关的操作不同,这些操作似乎没有现代的等效操作。

另外,control-Q/R/S/T 的原始名称是 DC1/DC2/DC3/DC4(“设备控制 1”等)。虽然我不确定历史,但这样的命名表明它们最初是旨在触发某种未指定的操作,但人们用 DC1 和 DC3 做的最常见的事情是控制纸带阅读器。

相关内容