我终端中的ASCII控制字符

💡 原文英文,约2100词,阅读约需8分钟。
📝

内容提要

本文探讨了33个终端控制代码,如Ctrl-A和Ctrl-C,分为操作系统处理和应用程序处理两类。文章回顾了这些代码的历史、使用方式及在不同模式下的表现,并强调在编写终端应用时应避免使用某些快捷键。作者提供了一个Python脚本用于识别控制代码,指出这些知识虽有趣但并非必需。

🎯

关键要点

  • 本文探讨了33个终端控制代码,如Ctrl-A和Ctrl-C,分为操作系统处理和应用程序处理两类。
  • 文章回顾了这些控制代码的历史、使用方式及在不同模式下的表现。
  • 作者强调在编写终端应用时应避免使用某些快捷键,如Ctrl-I和Ctrl-M。
  • 提供了一个Python脚本用于识别控制代码,指出这些知识虽有趣但并非必需。
  • 控制代码分为操作系统处理和应用程序处理,操作系统处理的代码会发送信号给当前程序。
  • 文章指出,只有33个控制代码,且某些组合键在终端应用中并无实际意义。
  • ASCII控制代码的名称与其在现代系统中的功能关系不大,很多名称已不再适用。
  • 在规范模式和非规范模式下,某些控制代码的处理方式不同。
  • 作者提到可以使用stty工具重新映射操作系统终端驱动的代码。
  • 不同程序可能会对相同的控制代码有不同的处理方式,导致冲突。
  • 关于Backspace键的处理存在历史争议,不同系统可能有不同的配置。
  • 作者认为这些知识虽然有趣,但并非使用终端的必要条件。
➡️

继续阅读