APUE 文件和目录
文件和目录Unix 所有的文件都对应一个 #include <sys/stat.h> struct stat { mode_t st_mode; // 文件类型和用户访问权限 ino_t st_ino; // inode 号 dev_t st_dev; // 文件系统设备号 dev_t st_rdev; // 特殊文件设备号 nlink_t st_nlink; // 链接(引用)计数,这个指对inode的链接数 uid_t st_uid; // 文件所有者 ID uff_t st_gid; // 文件组所有者 ID off_t st_size; // 普通文件的字节数 struct timespec st_atime; // 文件最后访问的时间 struct timespec st_mtime; // 文件最后修改的时间 struct timespec st_ctime; // 文件最后状态改变的时间,对inode操作 blksize_t st_blksize; // 最佳I/O块大小 blkcnt_t st_blocks; // 磁盘分配的块数 }; 文件类型
可以用 宏 文件访问权限 联系屏蔽字umask,有三个八进制位,分别代表所有者,组,其他用户。
其他用户类型类似。在文件模式中创建屏蔽字为 1 的位,文件中mode中的相关位将被关闭。 链接
每个inode中都有一个链接计数,其值是指向该inode的文件目录项数,同时也包含在结构stat中的st_nlink里。只有当目录项数减为 0 时,才可删除该数据块。这种链接称为硬链接。 再看个目录项的链接计数: 一个也目录下的链接计数最后少为2,一个来自命名改目录的目录项,一个是在目录中的.项。 结语 感觉这章的重点就在这些地方了,文件系统这一块我只说了大概,下一篇深入理解下linux的文件系统 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |