Linux系统之stat命令的基本使用

Linux系统之stat命令的基本使用

  • 一、stat命令 介绍
  • 二、stat命令帮助
    • 2.1 查询帮助信息
    • 2.2 stat命令的帮助解释
  • 三、stat命令的基本使用
    • 3.1 查询文件信息
    • 3.2 查看文件系统状态
    • 3.3 使用格式化输出
    • 3.4 以简洁形式打印信息
  • 四、注意事项

在这里插入图片描述

一、stat命令 介绍

stat 命令用于显示文件或文件系统状态的详细信息。它提供了比 ls -l 更加详细的输出,包括时间戳、权限、所有者等信息。

二、stat命令帮助

2.1 查询帮助信息

在Rocky Linux 9.4系统中,我们在命令行终端使用–help选项查询stat的命令帮助信息。

[root@RockyLinux-server001 ~]# stat  --help
用法:stat [选项]... 文件...
显示文件或文件系统的状态。必选参数对长短选项同时适用。-L, --dereference     跟随链接-f, --file-system     显示文件系统状态而非文件状态--cached=MODE     specify how to use cached attributes;useful on remote file systems. See MODE below-c  --format=FORMAT   use the specified FORMAT instead of the default;output a newline after each use of FORMAT--printf=FORMAT   like --format, but interpret backslash escapes,and do not output a mandatory trailing newline;if you want a newline, include \n in FORMAT-t, --terse           print the information in terse form--help		显示此帮助信息并退出--version		显示版本信息并退出The --cached MODE argument can be; always, never, or default.
`always` will use cached attributes if available, while
`never` will try to synchronize with the latest attributes, and
`default` will leave it up to the underlying file system.The valid format sequences for files (without --file-system):%a   permission bits in octal (note '#' and '0' printf flags)%A   permission bits and file type in human readable form%b   number of blocks allocated (see %B)%B   the size in bytes of each block reported by %b%C   SELinux security context string%d   device number in decimal%D   device number in hex%f   raw mode in hex%F   file type%g   group ID of owner%G   group name of owner%h   number of hard links%i   inode number%m   mount point%n   file name%N   quoted file name with dereference if symbolic link%o   optimal I/O transfer size hint%s   total size, in bytes%t   major device type in hex, for character/block device special files%T   minor device type in hex, for character/block device special files%u   user ID of owner%U   user name of owner%w   time of file birth, human-readable; - if unknown%W   time of file birth, seconds since Epoch; 0 if unknown%x   time of last access, human-readable%X   time of last access, seconds since Epoch%y   time of last data modification, human-readable%Y   time of last data modification, seconds since Epoch%z   time of last status change, human-readable%Z   time of last status change, seconds since EpochValid format sequences for file systems:%a   free blocks available to non-superuser%b   total data blocks in file system%c   total file nodes in file system%d   free file nodes in file system%f   free blocks in file system%i   file system ID in hex%l   maximum length of filenames%n   file name%s   block size (for faster transfers)%S   fundamental block size (for block counts)%t   file system type in hex%T   file system type in human readable form--terse 和下列<格式>等效::%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %W %o %C
--terse --file-system 与下列<格式>等效:%n %i %l %t %s %S %b %f %a %c %d注意:您的shell 可能内置了自己的stat 程序版本,它会覆盖这里所提及的相应
版本。请查阅您的shell 文档获知它所支持的选项。

2.2 stat命令的帮助解释

  • stat 命令用法
用法:stat [选项]... 文件...
显示文件或文件系统的状态。
  • 通用选项
短选项长选项描述
-L–dereference跟随链接
-f–file-system显示文件系统状态而非文件状态
–cached=MODE指定如何使用缓存属性;对远程文件系统有用。参见下面的 MODE 说明
-c–format=FORMAT使用指定的 FORMAT 替代默认格式;每次使用 FORMAT 后输出一个换行符
–printf=FORMAT类似于 --format,但解释反斜杠转义,并且不强制输出尾部换行符;如果需要换行符,请在 FORMAT 中包含 \n
-t–terse以简洁形式打印信息
–help显示此帮助信息并退出
–version显示版本信息并退出

关于 --cached 的 MODE 参数:

  • always: 如果可用,则使用缓存属性;

  • never: 尝试同步最新的属性;

  • default: 由底层文件系统决定。

  • 文件格式序列

序列描述
%a权限位,八进制表示(注意 ‘#’ 和 ‘0’ printf 标志)
%A权限位和文件类型,人类可读形式
%b分配的块数(参见 %B)
%B%b 报告的每个块的大小,以字节为单位
%CSELinux 安全上下文字符串
%d设备号,十进制
%D设备号,十六进制
%f十六进制的原始模式
%F文件类型
%g所有者的组 ID
%G所有者的组名
%h硬链接数
%iinode 编号
%m挂载点
%n文件名
%N引用的文件名,如果是符号链接则去引用
%o最佳 I/O 传输大小提示
%s总大小,以字节为单位
%t字符/块设备特殊文件的主要设备类型,十六进制
%T字符/块设备特殊文件的次要设备类型,十六进制
%u所有者的用户 ID
%U所有者的用户名
%w文件创建时间,人类可读;未知时显示 -
%W文件创建时间,自纪元以来的秒数;未知时显示 0
%x最后访问时间,人类可读
%X最后访问时间,自纪元以来的秒数
%y最后数据修改时间,人类可读
%Y最后数据修改时间,自纪元以来的秒数
%z最后状态改变时间,人类可读
%Z最后状态改变时间,自纪元以来的秒数
  • 文件系统格式序列
序列描述
%a对非超级用户可用的空闲块数
%b文件系统中的总数据块数
%c文件系统中的总文件节点数
%d文件系统中的空闲文件节点数
%f文件系统中的空闲块数
%i文件系统的 ID,十六进制
%l文件名的最大长度
%n文件名
%s块大小(用于快速传输)
%S基础块大小(用于块计数)
%t文件系统类型,十六进制
%T文件系统类型,人类可读形式

注释:

  • --terse 等效于以下格式:%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %W %o %C
  • --terse --file-system 等效于以下格式:%n %i %l %t %s %S %b %f %a %c %d

注意事项:

您的 shell 可能内置了自己的 stat 程序版本,它会覆盖这里所提及的相应版本。请查阅您的 shell 文档获知它所支持的选项。

三、stat命令的基本使用

3.1 查询文件信息

我们先使用ls命令查询测试文件的基本信息:

[root@RockyLinux-server001 ~]# ls -l aa01.txt
-rw-r--r--. 1 root root 0 1210 16:14 aa01.txt

使用stat命令查询测试文件的基本信息:

[root@RockyLinux-server001 ~]# stat aa01.txt文件:aa01.txt大小:0         	块:0          IO 块:4096   普通空文件
设备:fd00h/64768d	Inode:201326725   硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2024-12-10 16:14:42.188422475 +0800
最近更改:2024-12-10 16:14:42.188422475 +0800
最近改动:2024-12-10 16:14:42.188422475 +0800
创建时间:2024-12-10 16:14:42.188422475 +0800

3.2 查看文件系统状态

要查看文件系统的状态信息,我们可以使用 -f 选项:

[root@RockyLinux-server001 ~]# stat -f aa01.txt文件:"aa01.txt"ID:fd0000000000 文件名长度:255     类型:xfs
块大小:4096       基本块大小:4096块:总计:18333696   空闲:17516044   可用:17516044
Inodes: 总计:36700160   空闲:36642165

3.3 使用格式化输出

stat 支持使用 --format (-c) 或 --printf 来定制输出格式。这对于脚本编写非常有用,因为它允许你提取特定的信息。例如,只获取文件的修改时间:

[root@RockyLinux-server001 ~]# stat --format=%y aa01.txt
2024-12-10 16:14:42.188422475 +0800
[root@RockyLinux-server001 ~]# stat --format="Modify time: %y" aa01.txt
Modify time: 2024-12-10 16:14:42.188422475 +0800

3.4 以简洁形式打印信息

stat -t aa01.txt 命令以简洁格式输出了文件 aa01.txt 的基本信息,包括文件名、大小、设备号、用户和组ID、inode号、时间戳(访问、修改、状态改变及创建时间)、块大小以及SELinux安全上下文。

[root@RockyLinux-server001 ~]# stat -t aa01.txt
aa01.txt 0 0 81a4 0 0 fd00 201326725 1 0 0 1733818482 1733818482 1733818482 1733818482 4096 unconfined_u:object_r:admin_home_t:s0

四、注意事项

  1. 使用 stat 命令时确保你有足够的权限访问目标文件或目录,否则可能无法获取完整信息。
  2. stat 的输出可以非常详细,使用 -t--terse 选项可以获得更紧凑、适合脚本处理的输出格式。
  3. 对于符号链接,使用 -L--dereference 选项可以让 stat 显示链接指向的目标文件的状态而非链接本身。
  4. 当你需要自定义输出格式时,利用 --format (-c) 或 --printf 选项可以精确控制显示哪些信息以及它们的排列方式。
  5. 查看文件系统状态而不是单个文件状态时,请使用 -f--file-system 选项。
  6. 注意你的 shell 可能有内置的 stat 命令,这可能会覆盖系统提供的 stat,查阅 shell 文档以了解其特性。
  7. 在多语言环境下运行 stat 时,某些字段如时间戳的格式可能会根据当前 locale 设置而有所不同。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/890866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp开发微信小程序实现获取“我的位置”

1. 创建GetLocation项目 使用HBuilder X创建一个项目GetLocation,使用Vue3。 2. 在腾讯地图开放平台中创建应用 要获取位置,在小程序中需要使用腾讯地图或是高德地图。下面以腾讯地图为例。 (1)打开腾讯地图开放平台官方网址:腾讯位置服务 - 立足生态,连接未来 (2)注册…

基于NodeMCU的物联网空调控制系统设计

最终效果 基于NodeMCU的物联网空调控制系统设计 项目介绍 该项目是“物联网实验室监测控制系统设计&#xff08;仿智能家居&#xff09;”项目中的“家电控制设计”中的“空调控制”子项目&#xff0c;最前者还包括“物联网设计”、“环境监测设计”、“门禁系统设计计”和“小…

easegen将教材批量生成可控ppt课件方案设计

之前客户提出过一个需求&#xff0c;就是希望可以将一本教材&#xff0c;快速的转换为教学ppt&#xff0c;虽然通过人工程序脚本的方式&#xff0c;已经实现了该功能&#xff0c;但是因为没有做到通用&#xff0c;每次都需要修改脚本&#xff0c;无法让客户自行完成所有流程&am…

从安全角度看 SEH 和 VEH

从安全角度看 SEH 和 VEH 异常处理程序是处理程序中不可预见的错误的基本方法之一 https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/exceptions/ SEH——结构化异常处理程序 就其工作方式而言&#xff0c;异常处理程序与其他处理程序相比相当基础&#xff0…

nexus docker安装

#nexus docker 安装 docker pull sonatype/nexus3 mkdir -p /data/nexus-data docker run -itd -p 8081:8081 --privilegedtrue --name nexus3 \ -v /data/nexus-data:/var/nexus-data --restartalways docker.io/sonatype/nexus3 #访问 http://192.168.31.109:8081/ 用户名&am…

Spark生态圈

Spark 主要用于替代Hadoop中的 MapReduce 计算模型。存储依然可以使用 HDFS&#xff0c;但是中间结果可以存放在内存中&#xff1b;调度可以使用 Spark 内置的&#xff0c;也可以使用更成熟的调度系统 YARN 等。 Spark有完善的生态圈&#xff1a; Spark Core&#xff1a;实现了…

CSS---实现盒元素div内input/textarea的focus状态时给父元素加属性!

注意兼容性&#xff0c;低版本浏览器无效 要实现当 textarea 文本框获得焦点时&#xff0c;自动给其父元素添加类名或样式&#xff0c;您可以使用 CSS 的 :focus-within 伪类选择器。这个选择器会在元素本身或其任何子元素获得焦点时应用样式。 示例代码 假设您有以下 HTML 结…

2011-2020年各省城镇职工基本医疗保险年末参保人数数据

2011-2020年各省城镇职工基本医疗保险年末参保人数数据 1、时间&#xff1a;2011-2020年 2、来源&#xff1a;国家统计局 3、指标&#xff1a;省份、时间、城镇职工基本医疗保险年末参保人数 4、范围&#xff1a;31省 5、指标解释&#xff1a;参保人数指报告期末按国家有关…

Bert中文文本分类

这是一个经典的文本分类问题&#xff0c;使用google的预训练模型BERT中文版bert-base-chinese来做中文文本分类。可以先在Huggingface上下载预训练模型备用。https://huggingface.co/google-bert/bert-base-chinese/tree/main 我使用的训练环境是 pip install torch2.0.0; pi…

【无标题】学生信息管理系统界面

网页是vue框架&#xff0c;后端直接python写的没使用框架

macos安装maven以及.bash_profile文件优化

文章目录 下载和安装maven本地仓库配置国内镜像仓库配置.bash_profile文件优化 下载和安装maven maven下载地址 存放在/Library/Java/env/maven目录 本地仓库配置 在maven-3.9.9目录下创建maven-repo目录作为本地文件仓库打开setting配置文件 在setting标签下&#xff0c;添…

用Excel表格在线发布期末考试成绩单

每到期末&#xff0c;发布学生的期末考试成绩单便是老师们的一项重要任务。以往&#xff0c;传统的纸质成绩单分发效率低还易出错&#xff0c;而借助 Excel 表格在线发布&#xff0c;则开启了全新高效模式。 老师们先是精心整理各科成绩&#xff0c;录入精准无误的分数到 Excel…

WPF 绘制过顶点的圆滑曲线(样条,贝塞尔)

项目中要用到样条曲线&#xff0c;必须过顶点&#xff0c;圆滑后还不能太走样&#xff0c;捣鼓一番&#xff0c;发现里面颇有玄机&#xff0c;于是把我多方抄来改造的方法发出来&#xff0c;方便新手&#xff1a; 如上图&#xff0c;看代码吧&#xff1a; -------------------…

python监控数据处理应用服务Socket心跳解决方案

1. 概述 从网页、手机App上抓取数据应用服务&#xff0c;涉及到多个系统集成协同工作&#xff0c;依赖工具较多。例如&#xff0c;使用Frida进行代码注入和动态分析&#xff0c;以实现对网络通信的监控和数据捕获。在这样的集成环境中&#xff0c;手机模拟器、手机中应用、消息…

商品线上个性定制,并实时预览3D定制效果,是如何实现的?

商品线上3D个性化定制的实现涉及多个环节和技术&#xff0c;以下是详细的解释&#xff1a; 一、实现流程 产品3D建模&#xff1a; 是实现3D可视化定制的前提&#xff0c;需要对产品进行三维建模。可通过三维扫描仪或建模师进行建模&#xff0c;将产品的外观、结构、材质等细…

Python PyMupdf 去除PDF文档中Watermark标识水印

通过PDF阅读或编辑工具&#xff0c;可在PDF中加入Watermark标识的PDF水印&#xff0c;如下图&#xff1a; 该类水印特点 这类型的水印&#xff0c;会在文件的字节流中出现/Watermark、EMC等标识&#xff0c;那么&#xff0c;我们可以通过改变文件字节内容&#xff0c;清理掉…

旧衣回收小程序开发,绿色生活,便捷回收

随着绿色生活、资源回收利用理念的影响&#xff0c;人们逐渐开始关注旧衣回收&#xff0c;选择将断舍离等闲置衣物进行回收&#xff0c;在资源回收的同时也能够减少资金浪费。目前&#xff0c;旧衣回收的方式也迎来了数字化发展&#xff0c;相比传统的回收方式更加便捷&#xf…

Bluetooth Spec【0】蓝牙核心架构

蓝牙核心系统由一个主机、一个主控制器和零个或多个辅助控制器组成蓝牙BR/ EDR核心系统的最小实现包括了由蓝牙规范定义的四个最低层和相关协议&#xff0c;以及一个公共服务层协议&#xff1b;服务发现协议&#xff08;SDP&#xff09;和总体配置文件要求在通用访问配置文件&a…

vulnhub靶场-matrix-breakout-2-morpheus攻略(截止至获取shell)

扫描出ip为192.168.121.161 访问该ip&#xff0c;发现只是一个静态页面什么也没有 使用dir dirsearch 御剑都只能扫描到/robots.txt /server-status 两个页面&#xff0c;前者提示我们什么也没有&#xff0c;后面两个没有权限访问 扫描端口&#xff0c;存在81端口 访问&#x…

Java - 日志体系_Apache Commons Logging(JCL)日志接口库

文章目录 官网1. 什么是JCL&#xff1f;2. JCL的主要特点3. JCL的核心组件4. JCL的实现机制5. SimpleLog 简介6. CodeExample 1 &#xff1a; 默认日志实现 (JCL 1.3.2版本)Example 2 &#xff1a; JCL (1.2版本&#xff09; Log4J 【安全风险高&#xff0c;请勿使用】 7. 使用…