Linux环境编程2(持续更新中)
文件同步: 1、在写入数据时内存与磁盘之间也有一个缓冲区,这种机制降低了磁盘读写次数,提高了读写的效率。 2、但这种机制带来的后果就是磁盘中的数据与实写入的数据不匹配,系统提供了一个函数可以让缓冲区中的数据立即写入到磁盘。 void sync(void); 功能:把缓冲区中的数据同步到磁盘 注意:并不等到数据同步完成后才返回,而是把缓冲区的数据加入到写入队列。 int fsync(int fd); 功能:把指定文件的内容从缓冲区同步到磁盘 注意:会等到完全定稿磁盘才返回 int fdatasync(int fd); 功能:把指定文件的内容从缓冲区同步到磁盘,只同步文件的内容不同步属性。 文件属性: int stat(const char *path, struct stat *buf); 功能:根据文件的路径获取文件的属性 buf:存储文件属性的结构休指针,是个输出型参数。 int fstat(int fd, struct stat *buf); 功能:根据文件描述符获取文件的属性 int lstat(const char *path, struct stat *buf); 功能:获取软链接文件的文件属性。 struct stat { dev_t st_dev; // 设备ID ino_t st_ino; // i节点号 mode_t st_mode; // 文件的类型和权限