struct stat各成员含义

本文详细解析了struct stat结构体中的成员,包括st_dev、st_ino、st_mode、st_nlink等,重点阐述了st_mode如何表示文件类型和权限,以及如何通过st_uid和st_gid获取用户和用户组信息。通过对这些成员的理解,可以实现类似ls -l命令的功能,展示文件的详细信息。
摘要由CSDN通过智能技术生成

strcut stat中各成员含义:
通过man手册查询struct stat的具体构成,附上源代码可知,

         struct stat {
           dev_t     st_dev;     /* ID of device containing file */
           ino_t     st_ino;     /* inode number */
           mode_t    st_mode;    /* protection */
           nlink_t   st_nlink;   /* number of hard links */
           uid_t     st_uid;     /* user ID of owner */
           gid_t     st_gid;     /* group ID of owner */
           dev_t     st_rdev;    /* device ID (if special file) */
           off_t     st_size;    /* total size, in bytes */
           blksize_t st_blksize; /* blocksize for file system I/O */
           blkcnt_t  st_blocks;  /* number of 512B blocks allocated */
           time_t    st_atime;   /* time of last access */
           time_t    st_mtime;   /* time of last modification */
           time_t    st_ctime;   /* time of last status change */
       };

结构体各个成员表示含义:
st_dev:文件所在磁盘的磁盘的ID号
st_ino:节点编号
st_mode:描述文件的类型和权限
st_nlink:硬链接的数量
st_uid:文件属于用户的ID
st_gid:文件所属用户组ID
st_rdev:如果是设备文件则是设备ID号
st_size:文件大小
st_blksize:文件内容对应的块的大小
st_blocks:文件内容对应得块数量
st_atime:上次访问时间,访问文件的操作会改变该值
st_mtime:上次修改时间,
st_ctime:上次状态改变的时间,对文件的读写将改变该值。

上述众多的结构体成员中,值得细说的还是属于st_mode,它不仅包含的文件的类型,也包含的文件的权限信息。通过在某个目录下运行ls命令,出现一个结果,其中某一行开头的十个字符就是文件的类型和属性。

在linux下,一切皆文件,linux将文件分为7个种类,

普通文件:-
目录文
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值