zoukankan      html  css  js  c++  java
  • 2017-2018-1 20155234 《信息安全系统设计基础》第四周课堂实践

    man命令

    这周上课老师教了我们俩个命令

    • man -k key1 | grep key2| grep 2 : 根据关键字检索系统调用
    • grep -nr XXX /usr/include :查找宏定义,类型定义
      这俩个命令可以帮助我们查找系统内部函数的功能及其应用

    myod

    只需要讲普通myod中的*file改为fd fopen改为open fclose改为close fgets改为read就是所要求的系统调用myod了

    上课时因为上周并没有写myod并且自己的编程能力很差,所以导致在课上的时间都在编写myod没能及时完成老师的任务。

    • 伪代码
    for(行数小于输入行数;行数++)
    { if(字符不为回车)
    依次输出字符;
    }```
    通过man命令查找head的用处:
    -n x:显示文件的前x行
    -c x:显示文件的前x个字节
    -c -x:显示文件除了最后x个字节以外的内容:
    -n -x:显示文件除了最后几行的全部内容
    -v:显示文件名
    -q:隐藏文件名
    ![](http://images2017.cnblogs.com/blog/1072275/201710/1072275-20171013114444543-711716266.png)
    ![](http://images2017.cnblogs.com/blog/1072275/201710/1072275-20171013115849309-777711786.png)
    ![](http://images2017.cnblogs.com/blog/1072275/201710/1072275-20171015181425637-579571907.png)
    ##tail
    通过man命令查找tai:
    -f:循环读取
    -q:不显示文件名
    -v:显示文件名
    -c x: 显示最后x字节数
    -c +x:显示从x开始显示字节
    -n x:显示最后x行数
    -n +x:从x行开始显示文件
    -s:与-f合用每次反复的间隔休眠S秒
    - 伪代码
    ```for(当文件没读完,++)
    得到文件行数
    通过文件行数-输入的参数得到从第几行开始
    打印字符```
    ![](http://images2017.cnblogs.com/blog/1072275/201710/1072275-20171013121631027-177531902.png)
    ![](http://images2017.cnblogs.com/blog/1072275/201710/1072275-20171013121528559-1864517247.png)
    ![](http://images2017.cnblogs.com/blog/1072275/201710/1072275-20171015181524059-548722448.png)
    ##在编程中的问题
    head和tail的功能是要输出指定的前几行和后几行,我选择用回车符来判断行数。
    命令行输入的是字符型需要转化为整型才能够编译通过,我用的是a=(int)argv[1]来强制转化类型。
    ###[代码托管](https://git.oschina.net/bestiisjava2017/zxm5234)
    ##第十章主要学习系统级I/O。
     - 打开和关闭文件
        打开文件:int open(char *filename, int flags, mode_t mode)
        flags参数指明了进程打算如何访问这个文件:
        O_RDONLY:只读
        O_WRONLY:只写
        O_RDWR:可读可写
        flags参数也可以是一个或者更多位掩码的或:
        O_CREAT:如果文件不存在,就创建它的一个截断的文件
        O_TRUNC:如果文件已存在,就截断它
        O_APPEND:在每次写操作前,设置文件的位置到文件的结尾处
        关闭文件
        int close(int fd)
     - 读和写文件
    1.读 read
    函数原型:
    include <unistd.h>
    ssize_t read(int fd, void *buf, size_t n);
    2.写 write
    函数原型:
    include <unistd.h>
    ssize_t write(int fd, void *buf, size_t n);
    附录A主要讲错误处理
     - Unix系统中的错误处理:
     - 主要有Unix风格的错误处理;
     - Posix风格的错误处理;
     - GAI风格的错误处理。
  • 相关阅读:
    js截取字符串区分汉字字母代码
    List 去处自定义重复对象方法
    63. Unique Paths II
    62. Unique Paths
    388. Longest Absolute File Path
    41. First Missing Positive
    140. Word Break II
    139. Word Break
    239. Sliding Window Maximum
    5. Longest Palindromic Substring
  • 原文地址:https://www.cnblogs.com/zxm20/p/7660549.html
Copyright © 2011-2022 走看看