• 20145314郑凯杰《信息安全系统设计基础》第10周学习总结


    20145314郑凯杰《信息安全系统设计基础》第10周学习总结

    明确教材学习目标

    本周的学习计划是上一周的补充与完善,并对一些代码进行深入理解思考。

    重点如下:

    • 注意每个系统调用的参数、返回值,会查帮助文档

    • 阅读教材,完成课后练习(书中有参考答案),考核:练习题把数据变换一下

    • 学习视频,掌握两个重要命令:

      man -k key1 | grep key2| grep 2 : 根据关键字检索系统调用
      t5:

      grep -nr XXX /usr/include :查找宏定义,类型定义

    t6:

    • 教材中相关代码运行、思考一下,读代码的学习方法见「代码驱动的程序设计学习」。
    • 代码重点:课程演示代码

    重点分析老师所给我们的代码:

    图2:

    教材学习内容总结

    ① cp命令####

    功能: 复制文件或目录

    cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。

    图1:

    其详细的使用方法为:

    复制文件,只有源文件较目的文件的修改时间新时,才复制文件

    cp -u -v file1 file2
    

    将文件file1复制成文件file2

     cp file1 file2
    

    采用交互方式将文件file1复制成文件file2

     cp -i file1 file2
    

    将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式

     cp -f file1 file2
    

    将目录dir1复制成目录dir2

     cp -R file1 file2
    

    同时将文件file1、file2、file3与目录dir1复制到dir2

    cp -R file1 file2 file3 dir1 dir2
    

    复制时保留文件属性

     cp -p a.txt tmp/
    

    复制时保留文件的目录结构

     cp -P  /var/tmp/a.txt  ./temp/
    

    复制时产生备份文件

     cp -b a.txt tmp/
    

    复制时产生备份文件,尾标 1格式

     cp -b -V t   a.txt /tmp    
    

    指定备份文件尾标

     cp -b -S _bak a.txt /tmp
    

    运行截图:

    图3:

    ② echostate.c####

    功能:检查命令行中的提示符是否是可见的,可见返回1,否则返回0:

    运行结果:

    图4:

    ③ setecho.c####

    功能:可以改变符号显示状态,no是不显示符号,yes是显示。
    设置回显位的状态,命令行参数为y则开启,否则关闭。

    注意

    • 标准输入的文件描述符为0.
    • 使用tcgetattr()函数和termios结构体可获得标准输入的属性。
    • 使用tcsetattr()函数和termios结构体可以将更改后的属性设置重新写回标准输入。

    运行结果:

    图5:

    并没有什么显示。

    ④ ioctl

    功能:ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。系统调用ioctl提供对连接到fd设备驱动程序的属性和操作访问,每种类型的设备都有自己的属性集和ioctl操作集。

    查看帮助文档 man ioctl

    图6:

    运行代码:

    图7:

    ⑤ls命令

    功能:读取文件名和文件属性,按照字典序排序后输出。

    首先是ls1:简单的显示所在文件夹中的文件及文件夹列表

    运行结果:

    图8:

    ls2.c功能:显示指定目录下的文件详细信息

    运行结果:

    图9:

    ⑥filesize.c

    功能:通过stat得到文件大小信息,即指定查找etc/passwd文件的大小

    运行结果:

    图10:

    编译

    图11:

    ⑦fileinfo.c

    功能:如其名字一样,用来实现显示文件信息。首先判断命令是否有操作数,有的话继续进行下去,如果没有报错就打印出来相关文件信息,报错就用perror将报错信息打印出来。

    图12:

    图14:

    一个小测试,当文件不存在时

    ⑧WHO

    功能:读取系统中用户信息

    运行截图:

    图15:

    代码上传链接与截图

    本周五百行代码:

    图20:

    链接:http://git.oschina.net/qiaokeli26/linux

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第七周 1300/1750 11/11 140/140
    第八周 1700/2000 13/13 160/160
    第九周 2000/2400 14/15 180/180
    第十周 2500/2800 15/17 0/200

    | 第十周 | 3000/3000 | 15/17 | 0/200 | |

    参考资料

  • 相关阅读:
    MD5 初探。
    VFW程序分析
    IE版本简单兼容 JS闭包和JS对象解说。
    句柄和指针
    超时时间已到。在从池中获取连接之前超时时间已过。出现这种情况可能是因为所有池连接都已被使用并已达到最大池大小
    DataGrid模板列上的ImageButton 不能触发ItemCommand事件
    html转换成文本
    几种取数据库随机记录的方法
    打开.net时CPU占用率100%的问题个人处理办法
    强制输出wxl
  • 原文地址:https://www.cnblogs.com/5314zkj/p/6081872.html
Copyright © 2020-2023  润新知