stat命令学习

Linux学习

20191318王泽文

stat命令学习

  1. stat命令

stat指令:文件/文件系统的详细信息显示。

stat命令主要用于显示文件或文件系统的详细信息

man -k status

grep -r mystat /wzw/

使用:


  1. 编写stat伪代码
传入参数argc argv[]
新建stat结构t
使用系统调用stat(argv[1],&t)
从t中获取该文件的各种状态并整合输出

stat结构:

// struct stat
// {
//     dev_t st_dev; //device 文件的设备编号
//     ino_t st_ino; //inode 文件的i-node
//     mode_t st_mode; //protection 文件的类型和存取的权限
//     nlink_t st_nlink; //number of hard links 连到该文件的硬连接数目, 刚建立的文件值为1.
//     uid_t st_uid; //user ID of owner 文件所有者的用户识别码
//     gid_t st_gid; //group ID of owner 文件所有者的组识别码
//     dev_t st_rdev; //device type 若此文件为装置设备文件, 则为其设备编号
//     off_t st_size; //total size, in bytes 文件大小, 以字节计算
//     unsigned long st_blksize; //blocksize for filesystem I/O 文件系统的I/O 缓冲区大小.
//     unsigned long st_blocks; //number of blocks allocated 占用文件区块的个数, 每一区块大小为512 个字节.
//     time_t st_atime; //time of lastaccess 文件最近一次被存取或被执行的时间, 一般只有在用mknod、utime、read、write 与tructate 时改变.
//     time_t st_mtime; //time of last modification 文件最后一次被修改的时间, 一般只有在用mknod、utime 和write 时才会改变
//     time_t st_ctime; //time of last change i-node 最近一次被更改的时间, 此参数会在文件所有者、组、权限被更改时更新
// };
  1. C语言代码实现stat

    码云链接:https://gitee.com/Yushino/system-job/blob/master/mystat.c
  2. 测试代码

    可以看到,与Linux指令stat基本一致
posted @ 2021-11-07 17:57  20191318王泽文  阅读(337)  评论(0编辑  收藏  举报