gnu coreutils包中包含的stat命令提供了各种元数据,包括文件大小、inode位置、访问权限和selinux上下文,以及关于文件和文件系统的创建和修改时间。这是一种收集信息的便捷方法,通常需要使用多个不同的命令来获取这些信息。
在linux中安装stat
在linux上,你可能已经安装了stat命令,因为它是核心程序包的一部分,默认情况下通常与linux发行版捆绑在一起。
如果没有安装stat,可以使用包管理器安装coreutils。
或者,你可以下载源代码编译coreutils
获取文件的状态
运行stat提供一个关于特定文件或目录的易读的输出:
$ stat planets.xml file: planets.xml size: 325 blocks: 8 io block: 4096 regular filedevice: fd03h/64771d inode: 140217 links: 1access: (0664/-rw-rw-r--) uid: (1000/tux) gid: (100/users)context: unconfined_u:object_r:user_home_t:s0access: 2021-08-17 18:26:57.281330711 +1200modify: 2021-08-17 18:26:58.738332799 +1200change: 2021-08-17 18:26:58.738332799 +1200 birth: 2021-08-17 18:26:57.281330711 +1200它可能很容易阅读,但仍然有很多信息。以下是stat所涵盖的内容:
file: 文件名size: 以字节为单位的文件大小blocks: 硬盘上为此文件保留的块数io block: 文件系统块的大小regular file: 文件类型(常规文件、目录、文件系统)device: 文件所在的设备inode: 文件所在的索引节点号links: 指向该文件的链接数access, uid, gid: 文件权限、用户和组所有者context: selinux 上下文access, modify, change, birth: 访问、修改、更改状态和创建文件的时间戳简洁输出
对于非常了解输出的人,或者希望使用其他实用程序(如awk)解析输出的人,可以使用 --terse(-t)选项,该选项可以格式化输出,而不使用标题或换行符。
$ stat --terse planets.xmlplanets.xml 325 8 81b4 100977 100 fd03 140217 1 0 0 1629181617 1629181618 1629181618 1629181617 4096 unconfined_u:object_r:user_home_t:s0选择自己的格式
你可以使用--printf选项和类似于printf的语法定义自己的输出格式。stat报告的每个属性都有一个格式序列(%c表示selinux上下文,%n表示文件名,等等),因此你可以选择希望在报告中看到的内容。
$ stat --printf=%n\\n%c\\n planets.xmlplanets.xmlunconfined_u:object_r:user_home_t:s0$ $ stat --printf=name: %n\\nmodified: %y\\n planets.xmlname: planets.xmlmodified: 2021-08-17 18:26:58.738332799 +1200以下是一些常见的格式序列:
%a 访问权限%f 文件类型%n 文件名称%u 用户名称%u 用户id%g 组 id%w 创建时间%y 修改时间详情大家可以参考stat手册或者coreutils手册。
文件信息
如果你曾经尝试过解析ls-l的输出,那么你会喜欢stat命令的灵活性。你并不总是需要stat提供的所有默认信息,但是当你确实需要部分或全部信息时,该命令是很好用的。无论你是以默认格式读取其输出,还是创建自己的查询,stat命令都可以让你轻松访问有关数据的数据。
数字式毫秒表是什么,它的功能有哪些
苹果代工厂寻安卓阵营订单,零部件采购向中国倾斜
洛杉矶至硅谷 特斯拉汽车搭载FSD 软件自动驾驶全程零干预
动力电池包安防系统基本原理及实例介绍
汽车高压包坏了有什么现象
如何在Linux中安装stat
IGBT在电力领域的广泛应用
通过改变常规阶跃折射率的大模场渐变折射率光纤设计
为什么电源设计转用48V?您需要了解什么?
自动驾驶视觉识别系统更容易识别白皮肤的人,黑人:种族歧视
行而不辍未来可期 长方集团2022年光源事业中心Q1述职会圆满结束
方法|基于T507开发板讲如何将占用引脚配置为普通GPIO
TI提供省去外接电源的以太网路电源架构Power over
如何运用工业物联网来解决工业设备的痛点
荣耀V9、华为Mate9对比评测:华为荣耀V9和华为Mate9不知道买谁?内存、屏幕、摄像、功能、配置对比
笔记本每日一贴——RAID
新款AirPods Pro售价1899元
理想汽车公布11月交付数据,实现25.8%巨大涨幅
RocketMQ在业务消息场景的优势有哪些呢?
RFID智能仓储管理解决方案