20145320周岐浩《信息安全系统设计基础》第10周学习总结
明确教材学习目标
本周的学习计划是上一周的补充与完善,并对一些代码进行深入理解思考。
重点如下:
注意每个系统调用的参数、返回值,会查帮助文档
阅读教材,完成课后练习(书中有参考答案),考核:练习题把数据变换一下
学习视频,掌握两个重要命令:
-
man -k key1 | grep key2| grep 2 : 根据关键字检索系统调用
- 这里使用cp1.c当作例子,假如我这里不知道其中fprintf的用法或者每个参数的具体含义
-
grep -nr XXX /usr/include :查找宏定义,类型定义
教材中相关代码运行、思考一下,读代码的学习方法见「代码驱动的程序设计学习」。
代码重点:课程演示代码
重点分析老师所给我们的代码:
cp1.c
这个看代码就可以知道是用户输入两个文件名实现两个文件的复制。
echostate.c
功能:检查命令行中的提示符是否是可见的,可见返回1,否则返回0:
tcgetattr函数用于获取与终端相关的参数。参数fd为终端的文件描述符,返回的结果保存在termios 结构体中
perror :打印错误信息
setecho.c
功能:设置echo的状态,可以改变符号显示状态,no是不显示符号,yes是显示。
当我使用n后,我输入什么都不会显示出来。可以看到这里我胡乱输入了很多东西。。。
fileinfo.c
功能:查看文件信息
filesize.c
功能:查看文件大小
这个竟然还有编译不通过的..我修改了代码之后可以运行了。
ls1.c
功能:显示当前目录下的所有文件
ls2.c
功能:显示指定目录下的文件详细信息,功能上等同于ls -l
spwd.c
功能:显示当前目录路径
testioctl.c
功能:查看窗体大小信息,先是正常状态,然后我将终端最大化,显示不同结果。
who1.c
功能:查看当前登录用户信息