UNIX 终端编程全解析
1. 终端输入模式
在终端操作中,输入模式主要分为规范模式(Canonical Mode)和非规范模式(Non - canonical Mode)。
- 非规范模式 :在此模式下,输入字符不会被组装成行,也不会进行擦除和删除整行的处理。不过,信号生成和输出处理仍会执行,当然这些功能也可以被禁用。输入字符会根据最小输入阈值(输入一定数量字符后返回读取结果)、最大时间(定时器到期后返回读取结果)或两者的组合返回给读取进程。
- 不同系统的术语 :在 Version 7 和 BSD UNIX 中,这两种模式有不同的术语。
- 熟模式(Cooked Mode) :对应规范模式。一次处理一行输入,支持输入编辑和信号生成,同时也会进行输出处理。
- 半熟模式(Cbreak Mode) :对应基本的非规范模式,可看作是“半熟”状态。此模式下输入编辑被禁用,一次读取一个字符(输入不缓冲),但信号生成和输出处理仍会进行。
- 原始模式(Raw Mode) :所有输入、输出处理以及信号生成均被禁用,一次只处理一个读取请求。它是在非规范模式基础上,进一步禁用了键盘信号和输出处理。
2. 特殊字符
在规范模式下,有许多字符具有特殊含义。以下是一些常见特殊字符的介绍:
| 特殊字符 | 功能 | 是否返回给读取进程 |
| ---- | ---- | ---- |
| CR(回车符) | 通常被转换为 NL(换
超级会员免费看
订阅专栏 解锁全文
2353

被折叠的 条评论
为什么被折叠?



