S_ISLNK(st_mode):是否是一个连接.
S_ISREG(st_mode):是否是一个常规文件.
S_ISDIR(st_mode):是否是一个目录
S_ISCHR(st_mode):是否是一个字符设备.
S_ISBLK(st_mode):是否是一个块设备
S_ISFIFO(st_mode):是否 是一个FIFO文件.
S_ISSOCK(st_mode):是否是一个SOCKET文件
struct stat {
dev_t st_dev; /* 包含这个文件的设备 ID */
ino_t st_ino; /* inode 编号 */
mode_t st_mode; /* 访问权限 */
nlink_t st_nlink; /* 硬链接数量 */
uid_t st_uid; /* 用户ID */
gid_t st_gid; /* 组ID */
dev_t st_rdev; /* 设备ID */
off_t st_size; /* 文件占用的字节数 */
blksize_t st_blksize; /* 文件系统块大小 */
blkcnt_t st_blocks; /* 文件占用了几个512字节 */
time_t st_atime; /* 最后访问时间 */
time_t st_mtime; /* 最后更改时间 */
time_t st_ctime; /* 最后状态更改时间 */
};