1. ssize_t read(int fd, void *buf,size_t nbytes)
返回读取的字节数
2。大多数文件系统为改善性能都采用read ahead 预读技术,当顺序读取时。系统会试图读入更多数据
3. int dup (int fd)
int dup2(int oldfd,int newfd)
复制fd的数据结构到新的文件描述符,实则将新的文件描述符指向相同文件表项
4.delayed write
将数据写到缓冲区中,排入队列,晚一些写入磁盘
sync (int fd);
将修改过的块 缓冲区排入队列中,不等待写操作结束
fsync 等待写操作位结束,用于数据库这样的应用程序
5.文件状态标志
O_RDONLY
O_WRONLY
之类的e
6.FD_CLOEexec 文件描述符标志
9.修改文件描述符标志或者文件状态标志必须谨慎。先要获取当前的值,然后或操作
if((val =fcntl(fd,F_GETFL,0)) < 0)
err_sys()
val |= flags; (标志修改 )