zoukankan      html  css  js  c++  java
  • 20145219 《信息安全系统设计基础》第10周学习总结

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

    教材学习内容总结

    附录A——错误处理

    • Unix风格的错误处理:函数返回值包括错误代码,也包括有用的结果
    • Posix风格的错误处理:返回0表示成功,返回非0表示失败;任何有用的结果都返回在通过引用传递进来的函数参数中。
    • DNS风格的错误处理:函数失败时返回NULL指针,并设置全局变量h_errno

    cp1.c

    • cp命令使用格式:cp src dst

    • cp1.c功能:复制一个文件的内容到另一个文件

    • 如图,将cp1.c文件中的内容复制到了cpp.c

    • cp1.c文件内容

    • cpp.c文件内容

    echostate.c

    • echostate.c功能:查看在命令行中输入命令时是否可见,可见返回1,不可见返回0

    fileinfo.c

    • fileinfo.c功能:显示文件相关信息,包括如下方面:

        mode:st_mode        文件的类型和存取的权限         
        links:st_nlink      连到该文件的硬链接数目,刚建立的文件值为1
        user:st_uid         用户ID
        group:st_gid        组ID          
        size:st_size        文件字节数
        modtime:st_mtime    最后一次修改时间
        name:               输入的文件名
      

    filesize.c

    • filesize.c功能:计算etc/passwd文件大小,结果显示文件字节数。

    ls1.c

    • ls1.c功能:显示当前目录下的所有文件(只显示文件名)

    ls2.c

    • ls2.c功能:显示当前目录下的所有文件详细信息,包括如下方面:

        st_mode     文件类型(模式、权限)
        st_nlink    文件链接数
        st_uid      用户所有者的ID
        st_gid      所属组的ID
        st_size     所占的字节数		
        st_mtime    文件最后修改时间
      

    setecho.c

    • setecho.c功能:设置输入指令可见性:

        输入y(或是以y开头的一串字符):命令可见
        否则(即输入不以y开头的字符):命令不可见
      

      运行时结合运行echostate,可显示当前echo的状态

    spwd.c

    • spwd.c功能:显示当前目录的绝对路径

    testioctl.c

    • testioctl.c功能:计算当前终端设备的窗口大小(显示行、列数目)

    who1.c

    • who1.c功能:显示系统中用户的信息

    who2.c

    • ……经比对who2.cwho1.c的代码完全相同,先开始我以为自己下载错了,后来接连问了几个同学,他们的也是这样,我想,应该是老师您上传到QQ群里的代码出错了……

    视频内容

    • ls命令

      -l显示详细信息,-a 列出隐藏目录

    • man ls

      查看ls的相关信息

    • 列出目录内容

      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命令查看用户列表

    • 组ID转化为组名

      查看相关文件/etc/group

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

    • 问题1:运行cp1.c时出错,提示usage: ./cp1 source destination

    • 解决方法:看到错误提示中的source destination,我就知道应该是和文件的源地址有关,但是并不清楚该如何改正,我想到了使用man cp命令查看标准cp命令的使用方法,发现cp命令的使用格式应该是cp source dest,于是我使用相似的格式./cp1 cp1.c(源文件) cpp.c(目的文件)运行成功。

    • 问题2:编译fileinfo.c时显示warning警告信息。

    • 解决方法:不用解决,警告并不是错误,可以直接运行,警告信息是告诉我代码中发生了强制类型转换。

    • 问题3:运行fileinfo.c时既没有出现预期结果,也没有显示错误

    • 解决方法:我又看了一边代码,思考了一下这个代码的功能,发现自己没有指定要显示信息的文件,指定显示cp1.c文件信息后运行成功。

    • 问题4:我的虚拟机突然连不上网了,重启也没用……我的电脑是联网正常的。

    • 解决方法:还原虚拟机网络设置,步骤:选择编辑选项卡的虚拟网络编辑器选项,点击页面左下角的恢复默认设置按钮。(此步骤需要在虚拟机没有运行的时候操作)

    本周代码托管截图

    • 代码托管连接
    • 第1~4周项目分文件夹时弄乱了已删除,从第五周开始存在新项目里。
    • PS:git上学期用还好好的,这学期就总是会出问题,果然当初新建项目时很重要,新建的项目格式有问题之后调整就很费劲,总是会莫名其妙(其实是对git命令的含义不了解)的传不上去,或者全部覆盖(碰见问题按照百度解决时跟自己预期的结果不同)……还好我的代码一直留着,覆盖也只是重新传一次相同的,就是上传时间会改……

    本周代码行数统计截图

    其他(感悟、思考等,可选)

    本周学习了老师上传到QQ群的一些代码,对于每一个代码,我都先了解它的功能,然后逐行理解它每一句话的意思、参数等信息(这一部分主要是百度和参看13级学长学姐们第九、十周的博客),接着预期它的运行结果,最后在虚拟机上编译、运行进行结果验证。在学习过程中,我对于编程有了进一步的了解,对于C语言的一些知识做了回顾,也通过man命令对Linux的部分知识有了更细致的了解,掌握了man这个帮助命令的使用方法。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第零周 0/0 1/1 15/15 安装虚拟机
    第一周 0/0 1/2 25/40 学习Linux命令
    第二周 62/62 1/3 25/65 学习C编程
    第三周 176/238 1/4 20/85 学习数的表示和计算
    第五周 57/295 1/5 20/105 学习汇编语言,了解逆向思想
    第六周 150/445 1/6 25/130 学习Y86处理器和HCL硬件描述语言
    第七周 115/560 1/7 20/150 学习存储器相关知识
    第八周 0/560 2/9 30/180 期中总结
    第九周 186/746 2/11 20/200 Unix I/O及相关函数
    第十周 423/1169 2/13 23/223 man、grep、cp、echostate、fileinfo、filesize、ls、setecho、spwd、testioctl、who代码的理解与调试

    参考资料

  • 相关阅读:
    侧方停车 成功50% 一把进不去 出去二把进
    在Windows上使用 Python 安装+ win10启用长路径
    无锡 苏州 上海 古镇 汇总20200129
    win10家庭版升级 到win10企业版
    WPS Office 2019 v11.8.2.8053地方企业版 2016 v10.8.2.6948
    WPS2019党政机关单位版(无广告困扰)
    自用Chrome插件推荐【附教程及下载】
    转载 https://www.cnblogs.com/bobo-pcb/p/11708459.html
    HDU1302_Snail【模拟题】【水题】
    how to add Javascript and CSS in page layout with sharepoint 2013
  • 原文地址:https://www.cnblogs.com/20145219songge/p/6081314.html
Copyright © 2011-2022 走看看