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

教材知识总结:

  • 输入操作是从I/O设备复制数据到主存,而输出操作是从主存复制数据到I/O设备
  • Unix I/O使得所有的输入和输出都能以一种统一且一致的方式来进行
  • 普通文件包含任意数据。应用程序一般要区分文本文件和二进制文件。文本文件是只含有ASCII或Unicode字符的普通文件。
  • 绝对路径名和相对路径名的概念。
  • 普通文件中文本文件每一行都是一个字符序列,以\n结束,新行符与ASCII的换行符一样,数字值为0x0a
  • 目录:每个目录至少含有两个条目,.是到该目录自身的连接,..是到父目录的链接。
  • 套接字:用来与另一个进程进行跨网络通信的文件
  • open函数将filename转换为一个文件描述符。int open(char *filename,int flag,mode_t mode);其中flag参数有:O_RDONLY,O_WRONLY,O_RDWR,O_CREAT,O_TRUNC,O_APPEND。
  • 关闭一个已关闭的描述符会出错。write函数从内存位置buf复制之多n个字节到描述符fd的当前文件位置。
  • size_t是无符号类型的,ssize_t是有符号类型的。
  • RIO提供了两类不同的函数:无缓冲的输入输出函数,带缓冲的输入函数。
  • rio_readn函数从描述符fd的当前文件位置最多传送n个字节到内存位置,no_writen函数是反过来的。rio_readlineb函数从文件rp独处下一个文本行,包括换行符号。
  • 应用程序能够通过调用stat和fstat函数来检索文件的信息。其中两个比较重要的是st_size成员包含了文件的字节数大小。st_mode编码了文件访问许可位。
  • Linux系统提供了相对比较丰富的帮助手册(man),man是manual的缩写,在日常linux系统管理中经常用到
  • 在Ubuntu下可通过man deluser查看相关帮助文档
  • man -k:根据关键字搜索联机帮助,是一种模糊搜索man -f:关键字精确搜索,与-k不同,它只搜索与关键字完全匹配的帮助页man -a:搜索并打开所有man中同名帮助
  • man -aw:显示所有手册文件的路径
  • 应用程序可以用readdir系列函数来读取目录的内容。
  • 内核通过三个相关的数据结构来表示打开的文件:描述符表、文件表、v-node表。所有进程共享这张v-node表。
  • Linux shell提供了I/O重定向操作符,允许用户将磁盘文件和输入输出联系起来,键入foo.txt,可以直接标准输出重定向到磁盘文件foo.txt。
  • int dup2(int oldfd,int newfd);这个函数可以把文件描述符从前面的老的复制到后面的新的,使这两个文件描述符同时指向一个地方。
  • -a:不要忽略二进制的数据-A<显示列数>:除了显示符合范本样式的那一列之外,并显示该列之后的内容
  • -b:在显示符合范本样式的那一列之前,标示出该列第一个字符的位编号
  • -B<显示列数>:除了显示符合范本样式的那一列之外,并显示该列之前的内容
  • -c:计算符合范本样式的列数。
  • -V:显示版本信息
  • -q:不显示任何信息
posted @ 2018-11-04 21:52  20165328  阅读(97)  评论(0编辑  收藏  举报