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