Understanding Unix/Linux Programming-stty指令练习

先来看一个简单的练习程序:

1 #include <stdio.h>
2
3 int main()
4 {
5     int c  , n = 0 ;
6     while( (c = getchar() ) != ‘Q‘ )
7         printf("char %3d is %ccode %d\n" , n++ , c , c  );
8     return 0 ;
9 }

以上是程序编译后运行的效果啦,可以看到在输入hello之后敲击回车后才运行了该程序,也就是说,在终端中输入的字符实际上是被缓冲的。

另外,回车键本身被识别为换行了,也由该程序识别了,这也与终端的设置有关。

tty驱动程序包含很多对数据的操作:

  1. 输入:驱动程序如何处理来自终端的字符
  2. 输出:驱动程序如何处理流向终端的字符
  3. 控制:字符如何表示——位的个数,位的奇偶性,停止位等等
  4. 本地:驱动程序如何处理来自驱动程序内部的字符

编写终端驱动程序:关于系统调用函数:

时间: 2024-10-06 20:20:17

Understanding Unix/Linux Programming-stty指令练习的相关文章

Understanding Unix/Linux Programming-文件、设备和流

每个设备文件都支持系统调用 ioctl: 目标:控制一个设备 头文件:#include<sys/ioctl.h> 函数原型:int result = ioctl(int fd , int operation [,arg...]); 参数 fd : 文件所关联的文件描述符 operation:操作类型 arg:可选参数 result:-1即错误:0即正确: 实际上,任何数据的源或者目的地都被Unix视为文件来处理,基本的系统调用既支持磁盘文件,也适用于设备文件.它们的区别体现在对于连接的操作上.

Understanding Unix/Linux Programming-who指令练习

1 /*Apply a Buffer trick in who3.c*/ 2 3 #include <stdio.h> 4 #include <stdlib.h> 5 #include <utmp.h> 6 #include <fcntl.h> 7 #include <unistd.h> 8 #include <time.h> 9 10 #define NRECS 16 11 #define NULLUT ((struct utmp

UNIX/Linux下C语言的学习路线

一.工具篇 “公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工具. 1.操作系统    在UNIX或Linux系统中学习C很方便,所以在开始您的学习旅程前请先选择一个UNIX或Linux操作系统,目前可供个人免费使用的UNIX或Linux系统有FreeBSD.RedHat Linux.SUSE Linux等,而且在安装包中还提供很多实用的工具,如:gcc, make等. 如果您一直使用Window

Unix Linux 通用vi命令,使用帮助手册【珍藏版

Unix Linux 通用vi命令,使用帮助手册[珍藏版] Vi 简介 Vi 是 Unix 世界里极为普遍的全萤幕文书编辑器,几乎可以说任何一台 Unix 机器都会提供这套软体.Linux 当然也有,它的 vi 其实是 elvis(版权问题),不过它们都差不多.熟悉 DOS 下的文书处理後,也许会感到 vi 并不好用:Unix 上也已经发展出许多更新.更好用的文书编辑器,但是并不一定每一台 Unix 机器上都会安装这些额外的软体.所以,学习 vi 的基本操作还是有好处,让你在各个不同的机器上得心

来自Unix/Linux的编程启示录

2017年第一篇文章,祝各位好友新年快乐. 年前由于不小心坐到了自己左手大拇指导致轻微的骨裂,没有按时更新,实在是惭愧.今年给自己订了个小目标,在安顿好新工作后,每周一篇来总结这些年所学. 话不多说,步入正题 写本文的最初灵感源于16年11月份我将工作环境切换到Mac OS上,其中一些使用"差异"让我开始对Unix/Linux中设计产生了浓厚的兴趣. 在整个探究过程中,那些经典的著作再次让我获益匪浅:C和指针,C专家编程,深入理解计算机系统(原书第3版),Linux/Unix设计思想,

Unix Linux vi vim 使用手册|vi vim 常用命令 详解

Unix Linux vi vim 使用手册 Vi 简介 Vi 是 Unix 世界里极为普遍的全萤幕文书编辑器,几乎可以说任何一台 Unix 机器都 会提供这套软体.Linux 当然也有,它的 vi 其实是 elvis(版权问题),不过它们都 差不多.熟悉 DOS 下的文书处理後,也许会感到 vi 并不好用:Unix 上也已经发展出 许多更新.更好用的文书编辑器,但是并不一定每一台 Unix 机器上都会安装这些额外 的软体.所以,学习 vi 的基本操作还是有好处,让你在各个不同的机器上得心应手.

获得Unix/Linux系统中的IP、MAC地址等信息

获得Unix/Linux系统中的IP.MAC地址等信息 中高级  |  2010-07-13 16:03  |  分类:①C语言. Unix/Linux. 网络编程 ②手册  |  4,471 次阅读 作者:diaoyf  |  文章来源:http://programmerdigest.cn 实际环境和特殊需求往往会将简单问题复杂化,比如计算机IP地址,对于一个连接中socket,可以直接获得本端和对端的IP.端口信息.但在一些特殊场合我们可能需要更多的信息,比如系统中有几块网卡,他们的Mac地

Unix/Linux环境C编程入门教程(5) Red Hat Enterprise Linux(RHEL)环境搭建

Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. Red Hat Enterprise Linux是Red Hat公司的Linux发行版,面向商业市场,包括大型机.红帽公司从Red Hat Enterprise Linux 5开始对企业版LINUX的每个版本提供10年的支持[1].而Red Hat Enterprise Linux常简作RHEL. 1. 启动Vmware,如果没有安装的话,请看前面VMware安装的视频 2.选中

linux 的shell指令操作

1.在命令终端来获取root用户权限 在终端中输入: sudo passwd root Enter new UNIX password: (在这输入你的密码) Retype new UNIX password: (确定你输入的密码) passwd: password updated successfully 以后,如果在想获得root权限,只需进行如下的操作: su root Password: (在此输入你上面设置的密码) 如果要再次禁用 root 帐号, 那么可以执行 sudo passwd