Understanding Unix/Linux Programming note:chapter 5:连接控制:学习stty
来源:互联网 发布:越中友谊宫 知乎 编辑:程序博客网 时间:2024/05/21 05:22
Key-word: stty, fcntl, tcsetattr, tcgetattr
本章通过stty命令的编写讲解如何设置设备的属性。
stty命令用于让用户读取和修改终端驱动程序的设置。
1、设备和文件的含义
内核在进程和外部世界间交换数据。
外部世界包括磁盘文件、终端和外部设备。(?个人理解:外部世界包括磁盘文件和外部设备,终端是重要且特殊的外部设备)。
5.2、设备就像文件
设备具有文件名;支持open, read, write等系统调用;
设备文件的i-节点存储的是指向内核子程序的指针;磁盘文件的i-节点存储的是指向数据块的指针;
5.3、设备与文件的不同之处
系统调用open创建与磁盘文件或设备的连接;两者的连接具有不同的属性。
为了解释5.3,通过5.4介绍磁盘文件的连接属性,通过5.5介绍终端的连接属性(终端是一种特殊的设备),通过5.6介绍通用设备的属性设置。
5.4、磁盘文件的连接属性
通过函数fcntl调用设置磁盘文件的连接属性,如:内核的缓冲机制。
5.5、终端连接的属性
通过库函数tcgetattr和tcsetattr 来读取和设置终端驱动程序的属性,如:是否回显、阻塞/非阻塞输入。
5.6、其他设备编程
每个设备文件都支持系统调用icotl。系统调用ioctl提供对连接到fd的设备驱动程序的属性和操作的访问。每种类型的设备都有自己的属性集合ioctl操作集。
- Understanding Unix/Linux Programming note:chapter 5:连接控制:学习stty
- Understanding Unix/Linux Programming note:chapter 6:为用户编程:终端控制和信号
- Understanding Unix/Linux Programming-stty指令练习
- Understanding Unix/Linux Programming note:chapter 2, chapter 3, chapter 4
- Understanding Unix/Linux Programming note:chapter 1:执行可执行文件时的参数传递
- Understanding Unix/Linux Programming note:chapter 1:more函数的流程图
- Understanding Unix/Linux Programming 笔记:chapter 12:连接和协议:编写Web服务器
- 《unix/linux编程实践教程》学习笔记:第五章 连接控制:学习stty
- Understanding Unix/Linux Programming 笔记:chapter 11:连接到近端或远端的进程:服务器与Socket(套接字)
- 第5章 连接控制:学习stty
- Understanding Unix/Linux Programming-终端控制和信号
- Understanding Unix/Linux Programming 笔记:chapter 7:事件驱动编程:编写一个视频游戏
- Understanding Unix/Linux Programming 笔记:chapter 8:进程和程序:编写命令解释器sh
- Understanding Unix/Linux Programming 笔记:chapter 13:基于数据报(Datagram)的编程:编写许可证服务器
- Understanding Unix/Linux Programming 笔记:chapter 14:线程机制:并发函数的使用
- Understanding Unix/Linux Programming 笔记:chapter 15:进程间通信(IPC)
- unix/linux编程实践教程:学习stty
- 第五章 连接控制 学习stty
- 解决平台脚本生成标识ID到335停止不动
- leetcode Longest Valid Parentheses
- 学习学习多线程编程,落入俗套。
- MySql中时间比较的实现
- 顺序查找
- Understanding Unix/Linux Programming note:chapter 5:连接控制:学习stty
- DNN6皮肤制作过程细解
- 使用Nodejs开发web应用—1
- 线程调度
- struts 2 的SessionAware接口使用
- Greeting English
- paip.python错误解决2
- paip.python错误解决4
- VMware 10 永久密钥