20145237 《信息安全系统设计基础》第四周学习总结

2017-2018-1 20145237 《信息安全系统设计基础》第四周学习总结

教材学习内容总结

1 参考教材第十章内容

2 用Linux IO相关系统调用编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能,注意XXX是文件名,通过命令行传入,不要让用户输入文件名

  1. 不要把代码都写入main函数中

  2. 要分模块,不要把代码都写入一个.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、关闭文件

原文地址:https://www.cnblogs.com/20145237fhn/p/7674428.html