• 2018-2019-1 20165333 《信息安全系统设计基础》第六周学习总结


    2018-2019-1 20165333 《信息安全系统设计基础》第六周学习总结

    教材内容总结

    Unix I/O

    • 打开文件。一个应用程序通过要求内核打开相应的文件,来宣告它想要访问一个I/O设备。
    • Linux shell创建的每个进程开始都有三个打开的文件:标准输入(0)、标准输出(1),和标准错误(2)。头文件<unistd.h>定义了常量STDIN_FILENO、STDOUT_FILENO_FILENO和STDERR_FILENO,他们可用来代替显式的描述符值。
    • 改变当前的文件位置
    • 读写文件
    • 关闭文件。当应用完成了对文件的访问之后,他就通知内核关闭这个文件。

    文件

    每个Linux文件都有一个类型来表明它在系统中的角色。

    • 普通文件包含任意数据
    • 目录
    • 套接字
      Linux内核将所有文件都组织成一个目录层次结构,由名为/的根目录确定。系统中的每个文件都是根目录的直接或间接的后代。

    打开和关闭文件

    进程是通过调用open函数来打开一个已存在的文件或者创建一个新文件的。

    • open函数将filename转换为一个文件描述符,并且返回描述符数字。
    • flags参数指明了进程打算如何访问这个文件
    • mode参数指定了新文件的访问权限位。
    • 进程通过调用close函数关闭一个打开的文件。关闭一个已关闭的文件会出错。

    读和写文件

    应用程序是通过分别调用read和write函数来执行输入和输出的。

    共享文件

    内核用三个相关的数据结构来表示打开的文件:

    • 描述符表
    • 文件表
    • v-node表

    I/O重定向

    Linux shell 提供了I/O重定向操作符,允许用户将磁盘文件和标准输入输出联系起来。

    • I/O重定向如何工作
      一种方式是使用dup2函数。dup2函数复制描述符表表项oldfd到描述符表表项newfd,覆盖描述符表表项newfd以前的内容。如果newfd已经打开了,dup2会在复制oldfd之前关闭newfd.
  • 相关阅读:
    [转]lftp的致命错误:证书验证:不信任
    github每次push都需要密码以及用户名的解决办法
    Fedora最小化安装后没有ifconfig命令
    [转载]MySql常用命令总结
    chrome浏览器强制采用https加密链接
    红帽系列linux自行配置本地yum源
    linux 下dd命令直接清除分区表(不用再fdisk一个一个的删除啦)
    linux分区工具fdisk的使用
    Java多线程实现......(1,继承Thread类)
    第一篇文章--我为什么要写博客?
  • 原文地址:https://www.cnblogs.com/challengeeverthing/p/9906288.html
Copyright © 2020-2023  润新知