关于struct stat

在Unix/Linux中,stat能够得到一个文件的状态信息,而这些信息都放到一个结构体中struct stat,其中的成员以下 node

struct stat { ui

       mode_t    st_mode;      //文件对应的模式,文件,目录等 command

       ino_t     st_ino;      //inode节点号 im

       dev_t     st_dev;       //设备号码 文件

       dev_t     st_rdev;      //特殊设备号码 时间

       nlink_t   st_nlink;     //文件的链接数 co

       uid_t     st_uid;       //文件全部者 block

       gid_t     st_gid;       //文件全部者对应的组 time

       off_t     st_size;      //普通文件,对应的文件字节数 path

       time_t    st_atime;     //文件最后被访问的时间

       time_t    st_mtime;     //文件内容最后被修改的时间

       time_t    st_ctime;     //文件状态改变时间

       blksize_t st_blksize;   //文件内容对应的块大小

       blkcnt_t  st_blocks;    //伟建内容对应的块数量

     };

平时咱们用到的不少的命令都是从这些底层的信息来运做的。

chmod就是该表的st_mode,还有相似的chown chgrp,ln命令也与st_link有关,find命令 如 find path -atime -ctime  -mtime 时间 [-exec command {} \;]都是根据st_atime st_mtime st_ctime 来的。我猜测应该 st_size = st_blksize* st_blocks 的(具体我也没有验证)

相关文章
相关标签/搜索