首页 > 其他分享 >stat命令的实现-mysate

stat命令的实现-mysate

时间:2022-10-16 11:00:27浏览次数:72  
标签:文件 stat mysate st 命令 mystat 截图 man

学习目标

  1. 提交学习stat(1)的截图
  2. man -k ,grep -r的使用
  3. 伪代码
  4. 产品代码 mystate.c,提交码云链接
  5. 测试代码,mystat 与stat(1)对比,提交截图

提交学习stat(1)的截图

安装man手册:

用man -f查看命令所在章节

在Ubuntu中通过man手册来学习 stat 命令相关使用方法:


通过stat命令可以显示以下信息:

File:显示文件名
Size:显示文件大小
Blocks:文件使用的数据块总数
IO Block:IO块大小
regular file:文件类型(常规文件)
Device:设备编号
Inode:Inode号
Links:链接数
Access:文件的权限
Gid、Uid:文件所有权的Gid和Uid。

man -k ,grep -r的使用

使用man -k, grep -r 掌握stat命令接口



stat 命令头文件及接口:

#include <fcntl.h>   
#include <sys/stat.h>
int stat(const char *file_name, struct stat *buf );

stat结构体:

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;      //文件字节数(文件大小)
    blksize_t     st_blksize;   //块大小(文件系统的I/O 缓冲区大小)
    blocks_t      st_blocks;    //块数
    time_t        st_atime;     //最后一次访问时间
    time_t        st_mtime;     //最后一次修改时间
    time_t        st_ctime;     //最后一次改变时间(指属性)
  };

伪代码

1.将文件传入系统调用stat()。
2.打印输出stat中的结构体内容。

产品代码 mystate.c,提交码云链接

运行截图:

码云链接:

https://gitee.com/sister_ben/kali/blob/master/mystat/mystat.c

测试代码,mystat 与stat(1)对比,提交截图

标签:文件,stat,mysate,st,命令,mystat,截图,man
From: https://www.cnblogs.com/wulongcan20201306/p/16795779.html

相关文章

  • redis:通用命令
    通用指令是部分数据类型的,都可以使用的指令,常见的有:KEYS:查看符合模板的所有keyDEL:删除一个指定的keyEXISTS:判断key是否存在EXPIRE:给一个key设置有效期,有效期到......
  • 补:java中static的用法总结
    关于java在static中的用法,大致可以总结为以下三个模块:其一为:静态变量某些特定的数据在内存中只有一份,而且能被一个类的所有实例对象共享。可以使用类名.变量名的形式来访......
  • gdb命令
    调用gdb编译需要在cc后面加-g参数再加-o;#gdb调试文件:启动gdb(gdb)l:从第一行开始列出源码(gdb)breakn:在第n行处设置断点(gdb)breakfunc:在函数func()的入口处......
  • Linux命令
    命令查询man-kxxx查询各种命令。版本uname-a内核版本号cat/etc/issueUbuntu版本号sudolsb_release-aUbuntu发行版系统procinfo显示系统状态/proc/sys动态修......
  • git命令简记
    一般来说,我们本地如果想要使用Git管理一些资源文件,首先我们需要有一个仓库才行。常用的方式莫过于,第一去Gitlab/Github先创建一个仓库,然后再拉到本地,那这个时候我们就......
  • mystat
    1.stat(1)    2.man-k,grep-r的使用   3.伪代码判断输入中是否包含文件参数——若有,则继续。——若没有,则提示用户输入错误......
  • 常用快捷键和常用DOS命令
    常用快捷键windows+E打开我的电脑Ctrl+Shift+Esc打开任务管理器Windows+R,输入cmd,敲回车打开命令运行窗口Alt+Tab切换任务窗口常用DOS命令盘符切换:格式要......
  • 思科设备routing policy配置命令
    1.修改EIGRP路由条目的AD值Cisco(config)#access-list1permit2.2.2.2Cisco(config)#routereigrp90Cisco(config-router)#distance13012.1.1.20.0.0.01 Cisc......
  • 【强烈推荐】用glob库的一行命令显著加速批量读取处理数据
    在我们气象领域,对数据进行批处理随处可见,尤其是在处理模式数据的时候。为了能让这个过程加速,很多大佬们提出了不同的方法,比如使用numba库进行计算、使用dask库进行并行等......
  • static 详解
    主要参考:C/C++中static的用法全局变量与局部变量其他参考:C语言中static的作用静态变量静态变量的作用:限定此变量的使用范围,并在限定访问内共享此变量,具体如下:函......