zoukankan      html  css  js  c++  java
  • 20135223何伟钦—信息安全系统设计基础第十周学习总结

    本周学习任务:

    1. 编译运行代码
    2. 使用man学习理解相关系统调用, 理解参数、返回值的含义
    3. 会用grep -nr xxx  /usr/include 查宏定义

    一、重要命令

       ① man :查看Linux中的指令帮助、配置文件帮助和编程帮助等信息

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

       ③grep -nr XXX /usr/include  :查找宏定义,类型定义(n:为显示行号 r:为递归查找)

    二、编译运行代码和理解相关系统调用、参数、查宏定义

    此次学习任务代码如下:

     

    (1)CP:复制文件或目录

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

    如上图,将CP1的代码已复制到文本destination.c中,如下查看destination.c确定

    man cp 查看CP指令的功能说明、语法、参数

     

    (2)echostate.c:显示终端是否已经开启

    说明:tcgetattr()函数用于获取与终端有关的参数。成功返回0;失败返回非0,接口设置errno错误标识。

    读取驱动设置并显示回显位的状态:1.标准输入的文件描述符为0

                                               2.使用tcgetattr()函数和termios结构体可以读取到设备的属性

                                               3.回显位状态放置在termios.c_lflag中

    (4)fileinfo.c:显示文件信息,包括使用者,分组,大小,修改时间和文件名。

    说明:后跟文件名作为参数

    (1)用来实现显示文件信息,建立了一个stat数据结构。

    (2)要先判断命令是否有操作数

    (5)filesize:计算文件的字节数大小

    说明:显示/etc/passwd文件的大小。/etc/passwd文件用于用户登录时校
    验用户的口令

    (6)ls1.c:显示目录内容

    说明:如果后跟目录,则显示指定目录的成员,否则,默认显示当前目录内容

    对比正常的LS命令,显然ls1.c是纵向逐一显示,linux中是横向叙述

    (7)ls2.c:显示目录内容的文件名、权限控制,大小,拥有者,修改时间等信息

    说明:与ls -l命令相似

    (8)setecho.c:用于开关终端显示

    说明:假如参数为空,直接关闭;假如参数为‘y’,则开启显示;假如为其他参数,则关闭显示。

    设置回显位的状态,命令行参数为y则开启,否则关闭。

    1.标准输入的文件描述符为0.

    2.使用tcgetattr()函数和termios结构体可获得标准输入的属性。

    3.使用tcsetattr()函数和termios结构体可以将更改后的属性设置重新写回标准输入。

    如下图:其中宏ECHO经grep可知为000010

    (9)spwd.c:默认显示当前所在目录的名字

    (10)testioctl.c:将winsize结构体中的行和列显示出来,可以用于测试ioctl函数

    说明:其中ioctl函数提供了一种获得设备信息和向设备发送控制参数手段。

    (11)who1.c&&who2.c:显示系统登录的记录,包括登录者名字,登录装置名和时间

    学习体会:

    通过编译运行、思考、查阅代码
    1.理解了相关系统调用, 理解参数、返回值的含义
    2.学会了用grep -nr xxx  /usr/include 查宏定义
    3.理解linux系统基本指令的运行原理
    但是学习过程中很多不足:
    1.代码理解能力有待提高,代码中很多细节不理解
    2.信息筛选能力较低,当查阅所需资料时,当出来很多详细信息,我只能慢慢找;
    3.英语有待提高,很多指令多是用英语叙述,英语水平较低基本不能理解。

    参考资料

    1.博客:《信息安全系统设计基础》第一次实验报告--Linux 基础入门http://www.cnblogs.com/20135223heweiqin/p/4824516.html

    2.Linux常用命令全集.CHM(很早以前已经下载,无链接)

    3. LINUX 使用tcgetattr函数与tcsetattr函数控制终端http://blog.chinaunix.net/uid-10747583-id-97303.html

    4.Linux文件权限详解http://blog.chinaunix.net/uid-25052030-id-174343.html

  • 相关阅读:
    [原创]启发式测试策略模型
    [原创]SSH框架介绍
    [原创]Sniffer工具培训
    [原创]浅谈Devops理念
    [原创接口测试技术介绍
    一个让我看了之后,痛哭不止的舞蹈!寻找有同感的人!
    多一点宽容,少一点抱怨;多一点付出,少一点指责。
    笼屉与夹肉馍(的制作方法) 之于 三层与MVC
    找工作、跳槽之旅——前言
    【自然框架.视频】基础设置(一)如何下载自然框架
  • 原文地址:https://www.cnblogs.com/20135223heweiqin/p/4967701.html
Copyright © 2011-2022 走看看