学习目标
- 提交学习stat(1)的截图
- man -k ,grep -r的使用
- 伪代码
- 产品代码 mystate.c,提交码云链接
- 测试代码,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