###文件IO 不带缓冲的IO操作每次read操作都调用系统调用。 ####文件描述符 0标准输入,1标准输出,2标准错误。 ####open和openat openat有fd参数。如果路径是绝对路径,fd被忽略,二者相同,如果相对路径,base路径是fd。如果相对路径,fd=AT_FDCWD则base路径是当前工作目录。 ####write create==open(fd, wronly|create|trunc, mode) ####lseek 管道、FIFO或网络套接字无法设置偏移量,返回-1 如果偏移量大于文件长度,将生成空洞,读出的数据为0,不占用磁盘空间。磁盘块数量和文件大小不一定一致 ####read 返回读到的字节数。从终端设备一次最多读一行。网络缓存机制导致读到的字节数少。从管道或FIFO读,只返回实际可用的字节数。 ####缓冲大小 操作系统内核采用了预读技术,减少IO次数,缓冲可以减少系统调用的次数 ####硬链接和软连接 硬链接将目录中的文件项连接到i节点,一个i节点可以对应多个文件。软连接文件的内容是路径。文件重命名不需要修改文件内容。目录块是一种特殊的数据块。硬链接限制

  • 同一个文件系统
  • 只有超级用户才能创建指向目录的硬链接 ####文件时间
  • st_atim 文件数据访问时间
  • st_mtim 文件数据修改时间
  • st_ctim 文件状态(元数据)修改时间