stat命令的实现

任务详情

  • 学习使用stat(1),并用C语言实现

  • 提交学习stat(1)的截图

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

实验过程

一、学习stat命令

stat命令的实现

stat命令用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。

语法

stat(选项)(参数)

选项

-L:支持符号连接;
-f:显示文件系统状态而非文件状态;
-t:以简洁方式输出信息;
–help:显示指令的帮助信息;
–version:显示指令的版本信息。

参数

文件:指定要显示信息的普通文件或文件系统对应的设备的文件名。

[En]

File: specifies the file name of the normal file or the device corresponding to the file system to display information.

查看文件或目录的诸如atime,mtime,ctime等信息即可使用stat命令,也可使用ls命令,但相比而言,stat还可以看到设备号,环境等信息。

stat使用实例

stat命令的实现

二、man -k ,grep -r的使用

使用 man -k stat | grep 2 查找stat相关函数。

stat命令的实现

使用命令 man 2 statx查看学习。

stat命令的实现

关于stat的说明:

stat命令的实现

三、伪代码

确定输入是否包含文件参数,如果包含,则继续;如果不包含,则提示用户输入错误

[En]

Determine whether the input contains file parameters, if so, continue, if not, prompt the user to enter an error

声明结构体,调用函数stat()
打印输出节点ino、
文件类型mode、
文件的连接数nlink
用户ID uid和组ID gid、
块大小blksize、
字节数size、
块数目blocks、
三个时间atime、mtime和ctime

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

码云链接

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

如图所示:

stat命令的实现

Original: https://www.cnblogs.com/zzjjyy123/p/15496069.html
Author: 20191223张俊怡
Title: stat命令的实现

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/524403/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • [转帖]Redis RDB 分析工具 rdbtools 说明

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年5月28日
    0107
  • Windows下使用ffmpeg录制摄像头+录屏+录系统音+录麦克风音,生成本地视频或推流

    实操: 录屏: ffmpeg.exe -r 1 -f gdigrab -i desktop -vcodec libx264 out.mp4 录制麦克风声音和摄像头的视频: ffmp…

    Linux 2023年6月7日
    091
  • Beyond Compare文件对比神器,快来给文件找茬!

    在工作中很多场景下都需要比对两个文件之间的差异,你是否还傻傻的同时打开两个文件,用眼睛一行一行的核对? 赶紧来试试这个神器Beyond Compare!!它可以快速的帮你找出两个文…

    Linux 2023年6月7日
    0109
  • 关于 QT绝对路径依赖症的解决办法!!

    QT安装正确后,使用Qtcreator开发会非常方便; 即使重装系统后,你不用重新安装直接使用QT开发即可。 但是如果你把这个安装后的开发环境,拷贝到其它电脑或者目录后, 你会发现…

    Linux 2023年6月14日
    092
  • Django Model 如何返回空的 QuerySet

    >>> from django.contrib.auth.models import User >>> User.objects.none() …

    Linux 2023年6月7日
    094
  • linux 命令 df -h 查不到新添加的硬盘

    云平台:腾讯云系统:ubuntu 20.04 第一部分:缘由 1、我的一台云服务器上挂载了两块硬盘。一块 50G 系统盘、一块 400G 数据盘。然后我查询目前在 Linux 系统…

    Linux 2023年5月27日
    0337
  • ArchLinux安装-2022-01-12

    这篇教程,是我基于B站up住theCW的视频教程整理的,其中添加了一些我在安装n次之后的经验(虽然失败过几次,但我现在安装不会再出差错,所以请放心的看此教程) 当然,我认为theC…

    Linux 2023年5月27日
    094
  • Linux系统Oracle常见操作

    1.1 登录默认数据库 首先切换到oracle用户,用数据库默认管理员登录。 [root@tsm-zh01 ~]# su – oracle [oracle@redhat ~]$ l…

    Linux 2023年6月6日
    081
  • 同一台电脑生成多份ssh私钥和公钥,映射多个GitHub账号

    当我们使用 Git 进行代码版本控制时,经常出现一台电脑需要连接多个Git 账号的情况,此时需要在一台电脑上生成多份 ssh 私钥和密钥,同时映射多个 Git 账号;这里我们需要同…

    Linux 2023年6月14日
    082
  • linux三剑客试题汇总

    1、找出/proc/meminfo文件中以s开头的行,至少用三种方式忽略大小写 2、显示etc目录下以root,centos或者user开头的信息 3、找出/etc/init.d/…

    Linux 2023年5月27日
    0112
  • Windows+VSCode编译在Linux-x86_64环境上运行的程序

    一、简介 本文主要介绍在Windows平台上使用VSCode,从而可以一键编译出运行在Linux-x86_64环境中的程序或库。 二、实现方式 ① 交叉编译 ② WSL(Windo…

    Linux 2023年6月7日
    099
  • 测试执行和软件缺陷

    测试执行 1.基本概念 测试执行就是执行测试用例、提交Bug 单、测试结论的评估和总结等一系列测试活动,测试执行不仅包含测试用例的执行,还包括其它测试活动. 2.注意事项 (1) …

    Linux 2023年6月7日
    073
  • 磁盘空间满,如何处理?

    作为运维人员,磁盘空间报警是最寻常遇到的情况,那么遇到空间如何处理呢?这里介绍一下处理办法及处理思路。 操作系统:centos系统 、Ubuntu 1 定位目录 收到空间报警信息,…

    Linux 2023年6月6日
    0108
  • Linux系统编程 —线程同步概念

    同步概念 同步,指对在一个系统中所发生的事件之间进行协调,在时间上出现一致性与统一化的现象。 但是,对于不同行业,对于同步的理解略有不同。比如:设备同步,是指在两个设备之间规定一个…

    Linux 2023年6月14日
    0101
  • SpringBoot学习笔记——Redis Template

    Springboot可以通过redis template和redis进行交互,使用方法如下 可以参考这个系列的文章: 【快学springboot】11.整合redis实现sessi…

    Linux 2023年5月28日
    0104
  • 分布式锁

    非分布式下使用锁 利用版本号来检测数据是否发生变化,从而判断是否能进行更新 JAVA 使用比较交换机制-CAS(Compare And Swap)机制实现 i++非线程安全,使用原…

    Linux 2023年6月7日
    097
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球