20145237 《信息安全系统设计基础》第四周学习总结
2017-2018-1 20145237 《信息安全系统设计基础》第四周学习总结
教材学习内容总结
1 参考教材第十章内容
2 用Linux IO相关系统调用编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能,注意XXX是文件名,通过命令行传入,不要让用户输入文件名
-
不要把代码都写入main函数中
-
要分模块,不要把代码都写入一个.c中
5 提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息
这道题和老师上课讲述的who类似,都要用到第十章中的内容,打开、关闭文件,读取文件。课上时对于如何编写这一部分不是很清楚,再加上之前的myod没有完全理解,导致没有做出来。课下我首先学习了第十章,了解了如何打开、关闭文件,并查找它们需要什么头文件。
打开文件
include <sys/types.h>
include <sys/stat.h>
include <fcntl.h>
include <unistd.h>
int open(char *filename,int flags,mod_it mode);
关闭文件
include<unistd.h>
int close(int fd);
以及课上讲过的读取
O_RDONLY:只读。
O_WRONLY:只写。
O_RDWR:可读可写
之后再进行对这道题的完成
参考别出心裁的Linux系统调用学习法,学习视频,掌握两个重要命令:
man -k key1 | grep key2| grep 2 : 根据关键字检索系统调用
grep -nr XXX /usr/include :查找宏定义,类型定义
完成head,tail的使用,相关API的分析,伪代码,产品代码,测试代码的编写
首先来看head能做什么
head的作用是将每个指定文件的头10 行显示到标准输出。接下来就可以编写代码,只需注意设置读取条件为前十行即可。
思路和上课时的who差不多是:
1、打开文件
2、读取满足条件文件(前十行)
3、关闭文件
接下来时tail,也是首先要看tail的作用
可知tail和之前的head正好相反是打印后十行
有了之前的基础,就可以很快编写出来tail的代码。
思路和之前一样
1、打开文件
2、读取满足条件文件(后十行)
3、关闭文件