20144303《信息安全系统设计基础》第十周学习总结
20144303《信息安全系统设计基础》第十周学习总结
代码学习与实践:
cp1:
进行文件复制(将cp1.c复制到copy.c)
cp1代码的功能与命令cp相同
fileinfo.c:
显示文件的基本信息
ls1.c:
简单的显示该文件夹中包含的文件和文件夹
其中.和..分别表示:当前目录和上级目录(目录文件永远不会为空,每个目录都至少包含两个特殊项"."和"..")
ls2.c:
显示该文件夹中包含文件和文件夹的详细信息
(与ls -l功能类似)
setecho.c:
用来改变命令行中符号显示的状态,输入yes显示命令字符,输入no不显示(输入命令是显示为空)
echostate.c:
用来判断命令行中符号显示的状态
(先运行一次程序,显示当前状态为“on”,再用setecho代码改变符号显示状态,再运行echostate,改变后的状态为“off”)
spwd.c:
用来显示当前所在目录
(第一次在fs文件夹下运行spwd,输出当前目录。后来将spwd代码放在/src/09中运行,得到新的目录。所以,spwd代码在哪里运行就可以得到哪里的目录)
testioctl.c:
计算当前终端窗口可以容纳的最大行数和列数
(第一张图是在终端窗口较小时运行代码输出的结果,第二张图是将终端窗口最大化运行的输出结果)
filesize:
查看目录文件的大小
(将代码中文件目录修改即可查看不同文件的文件大小。)
查看passwd大小:
查看network大小:
who1(who2):
每一行代表一个已登录的用户,所显示的内容从左向右依次是:用户名、终端名、登录时间、登陆地址(通常不显示)
代码调试遇到的问题
开始看代码的时候不理解testioctl的功能,运行了一遍也只显示行数和列数,不知代表什么。后来询问同学,得知代码中winsize参数是一个结构体
struct winsize {
unsigned short ws_row;//窗口字符行数
unsigned short ws_col; //窗口字符列数
unsigned short ws_xpixel; //窗口宽度,像素值
unsigned short ws_ypixel; //窗口高度,像素值
};
这才明白了这个代码的功能是显示该终端窗口最大行数和列数
视频学习内容
ls:
功能:列出目录内容,显示文件信息
ls -l:显示当前目录下详细信息(共7列)
- 第一位:文件属性(类—文件-目录)
- 二到四位:文件创建者权限(-代表无权限,r代表读权限,w代表写权限,x代表执行权限
- 五到七位:代表同组用户权限
- 八到十位:其他用户权限(具有读和其他权限,没有写权限)
第二列:文件子目录数
第三列:所有者
第四列:所属用户组
第五列:文件大小
第六列:文件最后修改时间
第七列:文件名
man ls
判断目录名与文件名:根据颜色区别
什么是目录:目录是一种特殊的文件,它的内容是文件和目录的名字
目录文件永远不会空,每个目录都有至少两个特殊的项“."(当前目录)和:".."(上一级目录)
是用什么系统项读取目录调用:man -k directory|grep read
who:
who命令参数:
- -a 打印能打印的全部
- -d打印死掉的进程
- -m 同am i,mom likes
- -q 打印当前登录用户数及用户名
- -u 打印当前登录用户登录信息
- -r 打印运行等级
代码托管
代码托管链接:https://git.oschina.net/20144303sys/work
其他(感悟、思考)
本周的学习重点是老师在QQ群里发的视频和代码。在学习代码的过程中,大部分代码是看不懂的,只能通过实践,将它运行一遍才知道它的功能和一些函数、参数的作用。尤其像setecho.c和echostate.c,只有在自己动手实践了之后才能理解代码。还有像testioctl.c,看代码时不知道参数代表什么,运行了也不知道输出的结果是什么东西,就只能通过百度或是询问同学解决。
通过本周的学习,我更加深刻体会到了自己动手实践的重要性。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 20/20 | |
第二周 | 300/300 | 1/2 | 20/40 | |
第三周 | 300/600 | 1/3 | 20/60 | |
第五周 | 200/800 | 2/5 | 20/80 | |
第六周 | 100/900 | 2/7 | 20/80 | |
第七周 | 160/1060 | 1/8 | 20/100 | |
第八周 | 0/1060 | 2/9 | 20/120 | |
第九周 | 300/1360 | 2/11 | 20/140 | |
第十周 | 495/1855 | 2/13 | 20/160 |