20145238《信息安全系统设计基础》第十周学习总结
20145238《信息安全系统设计基础》第十周学习总结
教材学习内容总结
本周实践内容
ls
cp
who
echostate
filesize
fileinfo
spwd
testioctl
等命令的具体实现功能的c代码
.cp
1.功能: 复制文件或目录
2.说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
3.将文件file1复制成文件file2(cp file1 file2)
ls
1.功能:列出目标目录中所有的子目录和文件。
2.示例:
1.列出/home文件夹下的所有文件和目录的详细资料
命令:ls -l -R /home
2.列出当前目录中所有以“t”开头的目录的详细内容
命令:ls -l t*
3.只列出文件下的子目录
列出 /opt/soft 文件下面的子目录
命令:ls -F /opt/soft |grep /$
列出 /opt/soft 文件下面的子目录详细情况
命令:ls -l /opt/soft | grep "^d"
4.列出目前工作目录下所有档案及目录;目录于名称后加"/", 可执行档于名称后加"*"
命令:ls -AF
5.计算当前目录下的文件数和目录数
命令:
ls -l * |grep "^-"|wc -l ---文件个数
ls -l * |grep "^d"|wc -l ---目录个数
6.列出当前目录下的所有文件(包括隐藏文件)的绝对路径, 对目录不做递归
命令:find $PWD -maxdepth 1 | xargs ls -ld
ls 用来显示文件的详细信息(用户名,群组名,大小,创建时间,读写执行权)
filesize
1.filesize st_size计算文件的字节数大小
2.fileinfo 显示文件信息
(1)用来实现显示文件信息,建立了一个stat数据结构。
(2)命令要有操作数
who
1.命令功能是通过查找记录登陆信息的文件来获取系统中登陆过用户的信息。
who 读取想要的信息到存储器中,再用标准输出函数打印到屏幕上,关闭文件
spwd
- 其作用是列出当前目录
testioctl
- ioctl 用于向设备发控制和配置命令 ,有些命令需要控制参数,这些数据是不能用read / write 读写的,称为Out-of-band数据。也就是说,read / write 读写的数据是in-band数据,是I/O操作的主体,而ioctl 命令传送的是控制信息,其中的数据是辅助的数据。
echostate
- 读取驱动设置并显示回显示的状态
echosetecho
- 设置回显位的状态,命令行参数为y则开启,否则关闭。
1.标准输入的文件描述符为0.
2.使用tcgetattr()函数和termios结构体可获得标准输入的属性。
3.使用tcsetattr()函数和termios结构体可以将更改后的属性设置重新写回标准输入。
教材学习中的问题和解决过程
1.cp代码运行结果为usage:./cp1 source destination
但是我没有在目录中发现复制后的文件,复制后不能出现同名文件不知道代码中要怎样做到 没读懂。
2.setecho当yes时,为正常;当no时,命令行显示不出我所敲的内容,才明白当echo is on的时候,输入的指令不可见,echo也被设置为了关闭状态。当我要继续执行其他文件时,必须再次设置成yes的状态,将会再次显示输入指令内容。
本周代码托管截图
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 2/4 | 18/38 | |
第三周 | 500/1000 | 3/7 | 22/60 | |
第四周 | 300/1300 | 2/9 | 30/90 | |
第五周 | 500/1000 | 3/12 | 22/120 | |
第六周 | 100/1300 | 2/15 | 30/150 | |
第七周 | 500/1000 | 3/18 | 22/180 | |
第八周 | 100/1500 | 2/20 | 30/210 | |
第九周 | 500/1600 | 2/22 | 32/242 | |
第十周 | 500/2100 | 4/26 | 40/274 |
参考资料
- 《深入理解计算机系统V2》学习指导
- ...