stat命令的实现-mysate

任务详情
  • 学习使用stat(1),并用C语言实现
  • 提交学习stat(1)的截图
  • man -kgrep -r的使用
  • 伪代码
  • 产品代码mystate.c,提交码云链接
  • 测试代码,mysate与stat(1)对比,提交截图
关于stat(1)
  • stat命令(可参考Linux系统stat指令用法)主要用于显示文件或文件系统的详细信息,该命令的语法格式如下:
    • -f:不显示文件本身的信息,显示文件所在文件系统的信息
    • -L:显示符号链接
    • -t:简洁模式,只显示摘要信息
  • stat命令显示的是文件的I节点信息。Linux文件系统以块为单位存储信息,为了找到某一个文件所在存储空间的位置,用I节点对每个文件进行索引,I节点包含了描述文件所必要的全部信息,其中包含了文件的大小,类型,存取权限,文件的所有者。
  • man -k stat
    image
  • Linux下的stat函数
    • 通过文件名filename获取文件信息,并保存在buf所指的结构体stat
    • 头文件

        #include <sys/stat.h>
        #include <unistd.h>
    • 函数

         int stat(const char *file_name, struct stat *buf );
    • 相关结构体

        struct stat {
          dev_t         st_dev;       //文件的设备编号
          ino_t         st_ino;       //节点
          mode_t        st_mode;      //文件的类型和存取的权限
          nlink_t       st_nlink;     //连到该文件的硬连接数目,刚建立的文件值为1
          uid_t         st_uid;       //用户ID
          gid_t         st_gid;       //组ID
          dev_t         st_rdev;      //(设备类型)若此文件为设备文件,则为其设备编号
          off_t         st_size;      //文件字节数(文件大小)
          unsigned long st_blksize;   //块大小(文件系统的I/O 缓冲区大小)
          unsigned long st_blocks;    //块数
          time_t        st_atime;     //最后一次访问时间
          time_t        st_mtime;     //最后一次修改时间
          time_t        st_ctime;     //最后一次改变时间(指属性)
        };
mysate

转载于:https://www.cnblogs.com/besty-zyx/p/10210559.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值