您的位置:首页 > 其它

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

2016-11-18 22:32 393 查看

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

教材学习内容总结

视频学习:系统调用

ls命令

-l
显示详细信息

man ls

编写程序实现
ls
ls -l
命令


如何列出目录内容:Linux中用目录树组织磁盘上的目录或文件

目录是一种特殊的文件,内容是文件和目录的名字

目录包含很多记录,每条记录代表一个目录或文件

目录文件永远不会空,至少包括
.
..
两项

man -k directory | grep read
man 3 readdir


如何读取文件属性

man -k file | grep status
man 2 stat


文件权限
st_mode
为16位二进制整数

模式转化为字符:二进制掩码可以用八进制表示

sys/stat.h
中定义了
S_IFREG
S_IFDIR
两个判断是目录还是文件的两个掩码

将用户ID转换成用户名:
cat /etc/passwd
命令查看用户列表,再利用strtok函数解决或者使用
getpwuid
函数

组ID转化为组名,相关文件/etc/group

如何判断目录名与文件名

代码调试

cp1.c



fileinfo.c

通过调用stat显示出stat中的各项文件信息



filesize.c

通过调用stat,显示stat中的st_size



ls1.c

通过调用readdir读取stat,将stat中的d_name输出



ls2.c

读取文件名和ls1.c相同,通过读取d_name来调用dostat函数产生stat

再用d_name和stat来调用show_file_info

用mode_to_letters和char调用mode_to_letters将文件权限用字符显示

uid_to_name显示所属用户

gid_to_name显示所属用户组



setecho.c

no设置所有命令为不可见

yes设置为可见状态



echostate.c

将命令设置成可见状态



spwd.c



testioctl.c



who1.c

读取UTMP_FILE中的用户信息utmp数组,然后将数组中的数据输出



who2.c

代码与who1.c相同,运行结果相同

代码调试中的问题和解决过程

运行cp1时,无法运行

没有输入源文件和目的文件,没有参数函数无法执行

本周代码托管截图

http://git.oschina.net/yg1022/CSAPP2E



其他

本周通过系统调用自己编写了一些Linux系统中已实现功能的代码,通过
,man –k  | grep
man
查看函数的基本信息包括函数的作用及返回值等,然后根据这些信息再自己编写代码

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周1/225/30学习Linux指令
第二周50/501/325/55Linux系统下的开发环境
第三周20/701/425/80信息的表示和处理
第五周20/901/530/110程序的机器级表示
第六周20/1101/630/140处理器体系结构
第七周20/1301/730/170存储器层次结构
第八周0/1302/910/180期中复习
第九周48/1781/1010/190系统级I/O、错误处理
第十周407/5851/1110/200系统调用学习
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: