您的位置:首页 > 运维架构 > Linux

S_ISREG等几个常见的宏 struct stat

2018-02-06 09:42 471 查看
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文件 

man 2 stat 可以查到stat数据结构,其中的st_mode就是上面几个宏的输入参数
struct stat {
dev_t
st_dev;
ino_t
st_ino;
mode_t
st_mode;
nlink_t
st_nlink;
uid_t
st_uid;
gid_t
st_gid;
dev_t
st_rdev;
off_t
st_size;
blksize_t
st_blksize;
blkcnt_t
st_blocks;
time_t
st_mtime;
time_t
st_ctime;
};

man 2 stat还可以查到下面的函数定义,用这个函数来获取指定文件(夹)的stat信息,然后带入上面的宏,判断文件(夹)的属性:是否是个常规文件、是否是一个目录……
int stat(const char *path, struct stat *buf)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 常用的宏