stat结构体
struct stat
是一个用于描述文件和目录状态的结构体。它通常用于stat()
、lstat()
和fstat()
等函数的参数中,以便函数可以获取文件或目录的状态信息。
以下是struct stat
结构体的定义:
#include <sys/stat.h>
struct stat {
dev_t st_dev; /* 设备编号 */
ino_t st_ino; /* 文件编号 */
mode_t st_mode; /* 文件模式 */
nlink_t st_nlink /* 硬链接数 */
uid_t st_uid; /* 所有者用户ID */
gid_t st_gid; /* 所有者组ID */
struct timespec st_atime; /* 最近一次访问时间 */
struct timespec st_mtime; /* 最近一次修改时间 */
struct timespec st_ctime; /* 创建时间 */
off_t st_size; /* 文件大小 */
blk_t st_blksize; /* 块大小 */
blk_cnt_t st_blocks; /* 块数量 */
float st_btime; /* 平均磁盘使用时间 */
};
其中,各个成员的含义如下:
-
st_dev
:设备的编号,用于唯一标识一个设备。 -
st_ino
:文件的编号,用于唯一标识一个文件。 -
st_mode
:文件模式用于描述文件的访问权限、所有者、组和其他属性。 -
st_nlink
:硬链接数,用于描述文件有多少个硬链接。 -
st_uid
:所有者用户ID,用于描述文件所有者的身份。 -
st_gid
:所有者组ID,用于描述文件所有者的组身份。 -
st_atime
:最近一次访问时间,用于描述文件最近一次被访问的时间。 -
st_mtime
:最近一次修改时间,用于描述文件最近一次被修改的时间。 -
s