当前位置: 首页 > news >正文

Linux命令:stat命令

目录

  • 1 简介
  • 2 说明
  • 3 实例
    • -L:显示链接指向的文件的信息
    • -f:显示文件系统信息
    • -t:以简洁的形式输出

1 简介

stat命令:显示文件或文件系统的状态

2 说明

使用:stat [OPTION]… FILE
常用选项:

  • -L, --dereference:如果一个文件是一个链接文件,显示链接指向的文件的信息。不加-L时,默认显示的是链接文件本身
  • -f, --file-system:显示文件系统的状态而不是文件本身的状态
  • -c --format=FORMAT:按照FORMAT输出内容;输出内容末尾会自动换行
  • -c --printf=FORMAT:和–format类似,不过末尾不输出换行符
  • -t, --terse:以简洁的形式输出,具体的每个FORMAT代表什么参考下面
  • 文件输出内容为:%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %W %o %C
  • 文件系统输出内容为:%n %i %l %t %s %S %b %f %a %c %d,需要在-t后跟选项:–file-system

文件的FORMAT:

  • %a:八进制的权限位,如:644
  • %A:以人类可读的形式显示权限位和文件类型
  • %b:分配的块数
  • %B:分配的大小
  • %C:SELinux安全上下文字符串
  • %d:十进制设备编号
  • %D:十六进制的设备编号
  • %F:文件类型
  • %g:属组的gid
  • %G:属组的组名
  • %h:硬链接数
  • %i:inode号
  • %m:挂载点
  • %n:文件名
  • %N:带引号的文件名,如果是符号链接则解除引用
  • %s:文件大小,单位是bytes
  • %u:属主的uid
  • %U:属主的用户名
  • %w:文件创建时间,人类可读;-未知
  • %W:文件创建时间,自纪元以来的秒数;0表示未知
  • %x:上次访问时间,人类可读
  • %X:上次访问时间,从Epoch到现在的秒数
  • %y:上次修改数据的时间,人类可读
  • %Y:上次修改数据的时间,距离Epoch的秒数
  • %z:上一次状态改变的时间,人类可读
  • %Z:上次状态改变的时间,从Epoch到现在的秒数

文件系统的FORMAT:

  • %a:非超级用户可用的空闲块
  • %b:文件系统中数据块总数
  • %c:文件系统中文件节点总数
  • %d:文件系统中文件节点的空闲数
  • %f:文件系统中空闲的块
  • %i:十六进制文件系统ID
  • %n:文件名
  • %s:块大小(用于更快的传输)
  • %S:基本块大小(用于块计数)
  • %t:十六进制文件系统类型
  • %T:文件系统类型,人类可读的形式

3 实例

-L:显示链接指向的文件的信息

root@con01:~# ln -s a1 a2
root@con01:~# ln a1 a3root@con01:~# ls
a1  a2 a3 haproxy-2.8.5  haproxy-2.8.5.tar.gz  lua-5.4.6.tar.gz  snap  test# 原文件
root@con01:~# stat a1File: a1Size: 82              Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 787977      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2024-02-02 10:35:40.894002209 +0000
Modify: 2024-02-02 10:35:38.045956495 +0000
Change: 2024-02-02 10:35:38.045956495 +0000Birth: 2024-02-02 10:35:38.045956495 +0000
# 对于链接文件,默认显示的是链接文件本身 --》 软链接
root@con01:~# stat a2File: a2 -> a1Size: 2               Blocks: 0          IO Block: 4096   symbolic link
Device: 803h/2051d      Inode: 787982      Links: 1
Access: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2024-02-08 07:40:29.763718140 +0000
Modify: 2024-02-08 07:40:28.523696058 +0000
Change: 2024-02-08 07:40:28.523696058 +0000Birth: 2024-02-08 07:40:28.523696058 +0000# 硬链接  
root@con01:~# stat a3File: a3Size: 82              Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 787977      Links: 2
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2024-02-02 10:35:40.894002209 +0000
Modify: 2024-02-02 10:35:38.045956495 +0000
Change: 2024-02-08 08:48:35.164126097 +0000Birth: 2024-02-02 10:35:38.045956495 +0000# 使用-L选项  
root@con01:~# stat -L a2File: a2Size: 82              Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 787977      Links: 2
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2024-02-02 10:35:40.894002209 +0000
Modify: 2024-02-02 10:35:38.045956495 +0000
Change: 2024-02-08 08:48:35.164126097 +0000Birth: 2024-02-02 10:35:38.045956495 +0000
root@con01:~# stat -L a1File: a1Size: 82              Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 787977      Links: 2
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2024-02-02 10:35:40.894002209 +0000
Modify: 2024-02-02 10:35:38.045956495 +0000
Change: 2024-02-08 08:48:35.164126097 +0000Birth: 2024-02-02 10:35:38.045956495 +0000

对输出内容的解释:

  • File: a2:文件名
  • Size: 82:文件大小,82字节
  • Blocks: 8:文件系统上为该文件分配了 8 个块。注意,这里的“块”大小可能因文件系统而异,但通常是 4096 字节,可以从IO Block中看出来
  • regular file:文件类型,此处显示是一个普通文件。directory为目录,symbolic link为软连接等
  • Device: 803h/2051d:文件所在的设备的主设备号和次设备号。
  • Inode: 787977:inode号
  • Links: 2:链接数
  • Access: (0644/-rw-r–r–):文件权限
  • Uid: ( 0/ root) :属主的id号和名字
  • Gid: ( 0/ root):属组的id号和名字
  • Access: 2024-02-02 10:35:40.894002209 +0000:上次访问文件的时间,如:打开文件,执行文件
  • Modify: 2024-02-02 10:35:38.045956495 +0000:上次修改文件内容的时间,如:给目录增加内容,修改文件内容
  • Change: 2024-02-08 08:48:35.164126097 +0000:状态改动时间,也就是上次改变文件的元数据(如权限、所有权等)的时间。对于许多文件系统,Change时间与Modify时间有可能相同,但在某些情况下,它们可能会有所不同
  • Birth: 2024-02-02 10:35:38.045956495 +0000:文件的创建时间。但是,请注意,并非所有的文件系统都支持“Birth”时间,并且在某些文件系统或平台上,这个字段可能没有意义或不可用。

扩展:文件系统中的文件数据分为两类,元数据和数据

  • 元数据:用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者、以及文件数据块的分布信息等等。
  • 数据:是指普通文件中的实际数据。
  • stat输出的Modify指的是修改文件数据,而Change指的是修改文件的元数据

-f:显示文件系统信息

stat -f a1File: "a1"ID: ff67a29b7db6b99a Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 9468520    Free: 7428126    Available: 6939102
Inodes: Total: 2424832    Free: 2287587

参数解释:

  • File: “a1”:文件名
  • ID: ff67a29b7db6b99a:文件系统的唯一标识符(UUID)
  • Namelen: 文件名
  • Type: ext2/ext3:文件系统类型
  • Block size: 4096:块大小
  • Fundamental block size: 4096:基本块大小
  • Blocks: Total: 9468520 Free: 7428126 Available: 6939102
    • Total: 9468520:文件系统中总共的块数
    • Free: 7428126:文件系统中未使用的块数
    • Available: 6939102:在不影响文件系统性能的情况下,可以分配给新文件的块数。
  • Inodes: Total: 2424832 Free: 2287587
    • Total: 2424832:文件系统中总的inodes数
    • Free: 2287587:文件系统中未使用的 inode 数

-t:以简洁的形式输出

stat -t a1
a1 82 8 81a4 0 0 803 787977 1 0 0 1706870140 1706870138 1706870138 1706870138 4096
# 输出内容如下
# --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
# 具体每个参数代表什么可以参考说明

相关文章:

Linux命令:stat命令

目录 1 简介2 说明3 实例-L:显示链接指向的文件的信息-f:显示文件系统信息-t:以简洁的形式输出 1 简介 stat命令:显示文件或文件系统的状态 2 说明 使用:stat [OPTION]… FILE 常用选项: -L, --derefer…...

学会自幂数

学会自幂数 题目描述: 写⼀个代码打印1~100000之间的所有的自幂数,中间用空格分隔。 解法思路: 自幂数是又称自客单位数,是指一个整数各个位的立方和等于该整数本身的数。例如,153是自幂数,因为 1^35 ^…...

支付宝支付

文章目录 支付宝介绍接入条件支付宝开发支付流程关于回调 支付测试第三方库的sdk接口加密的两种方式第三方支付宝sdk支付宝支付封装 支付宝介绍 -https://open.alipay.com/develop/manage 扫码登录 -网站支付:https://opendocs.alipay.com/open/270/105899 扫码登录…...

qt中读写锁与互斥锁的区别

在Qt中,读写锁(QReadWriteLock)和互斥锁(QMutex)都是用于多线程编程时控制共享资源访问的工具,但它们在实现上有一些重要的区别。 QMutex(互斥锁): QMutex是最基本的锁…...

Why Not Http?

游戏服务器开发主要是基于socket,或者websocket,很少采用http(可能有部分非常轻量级的服务器选择http)。这是什么原因呢?我们先来看看socket与http之间的区别。 socket与http之间的区别 socket与http对比 sockethttpT…...

基于JAVA的停车场收费系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 停车位模块2.2 车辆模块2.3 停车收费模块2.4 IC卡模块2.5 IC卡挂失模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 停车场表3.2.2 车辆表3.2.3 停车收费表3.2.4 IC 卡表3.2.5 IC 卡挂失表 四、系统实现五、核心代码…...

在PyTorch中,如何查看深度学习模型的每一层结构?

这里写目录标题 1. 使用print(model)2. 使用torchsummary库3.其余方法(可以参考) 在PyTorch中,如果想查看深度学习模型的每一层结构,可以使用print(model)或者model.summary()(如果你使用的是torchsummary库&#xff0…...

洛谷-P1478-陶陶摘苹果(升级版)(贪心)

陶陶摘苹果(升级版) 题目描述 又是一年秋季时,陶陶家的苹果树结了 n n n 个果子。陶陶又跑去摘苹果,这次他有一个 a a a 公分的椅子。当他手够不着时,他会站到椅子上再试试。 这次与 NOIp2005 普及组第一题不同的…...

【大数据面试题】007 谈一谈 Flink 背压

一步一个脚印,一天一道面试题(有些难点的面试题不一定每天都能发,但每天都会写) 什么是背压 Backpressure 在流式处理框架中,如果下游的处理速度,比上游的输入数据小,就会导致程序处理慢&…...

爬虫知识--01

爬虫介绍 # 爬虫的概念: 通过编程技术(python:request,selenium),获取互联网中的数据(app,小程序,网站),数据清洗(xpaht,lxml)后存到库中(mysql,redis,文件,excel&#x…...

【Azure 架构师学习笔记】- Azure Databricks (7) --Unity Catalog(UC) 基本概念和组件

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog 前言 在以前的Databricks中,主要由Workspace和集群、SQL Warehouse组成, 这两年Databricks公…...

react【六】 React-Router 路由

文章目录 1、Router1.1 路由1.2 认识React-Router1.3 Link和NavLink1.4 Navigate1.5 Not Found页面配置1.6 路由的嵌套1.7 手动路由的跳转1.7.1 在函数式组件中使用hook1.7.2 在类组件中封装高阶组件 1.8 动态路由传递参数1.9 路由的配置文件以及懒加载 1、Router 1.1 路由 1.…...

AUTOSAR CP--chapter7从CAN网络学习Autosar通信

从CAN网络学习Autosar通信 前言缩写词CAN通信在AUTOSAR架构中的传输上位机配置 第六章总结:学习了如何使用工具的自动配置功能,位我们生成系统描述中部分ecu的BSW模块配置,但是自动配置的功能虽然为我们提供了极大的便利,我们仍然…...

NX/UG二次开发—CAM—平面铣边界准确设置方法

大家在对平面铣设置边界时,经常遇到边界方向与自己期望的不一致,有些人喜欢用检查刀路是否过切来判断,但是对于倒角、负余量等一些情况,刀路本来就是过切的。对于多边界,可以根据选择的曲线来起点和面的方向来确定&…...

网络安全综合实验

1.实验拓扑 在这里注意因为第四个要求配置双击热备,我们可以第一时间配置,避免二次重复配置消耗时间 4、FW1和FW3组成主备模式的双机热备 具体配置位置在系统-->高可靠性-->双机热备-->配置 这里上行链路有两组,分别为电信和移动&…...

QT-地形3D

QT-地形3D 一、 演示效果二、关键程序三、下载链接 一、 演示效果 二、关键程序 #include "ShaderProgram.h"namespace t3d::core {void ShaderProgram::init() {initializeOpenGLFunctions();loadShaders(); }void ShaderProgram::addShader(const QString &fil…...

C++拷贝构造函数与赋值运算符重载

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、拷贝构造函数 1.概念 在现实生活中,可能存在一个与你一样的自己,我们称其为双胞胎。 那在创…...

全球各国海外媒体发稿新闻营销推广,英美德意法俄日韩多语言

【本篇由言同数字科技有限公司原创】随着全球市场化程度的加深,品牌出海成为越来越多企业的战略选择。而全球各国媒体的发稿,为品牌出海提供了重要的支持与推动。 第一部分:品牌出海的意义 品牌出海是指企业将自己的品牌、产品和服务推向全…...

将phantomjs制成docker镜像

几个前的一篇文章中介绍了phantomjsecharts生成图表图片的一种方式,但其部署复杂,制作为docker镜像运行就方便多了。文章参见:https://blog.csdn.net/u011943534/article/details/121524397 1、准备echarts 将上次文章中提到过下载的Echart…...

【LeetCode+JavaGuide打卡】Day20|530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

学习目标: 530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先 学习内容: 530.二叉搜索树的最小绝对差 题目链接&&文章讲解 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...

AI,如何重构理解、匹配与决策?

AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意:运行前…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...

SQL Server 触发器调用存储过程实现发送 HTTP 请求

文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...

LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)

在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...

【iOS】 Block再学习

iOS Block再学习 文章目录 iOS Block再学习前言Block的三种类型__ NSGlobalBlock____ NSMallocBlock____ NSStackBlock__小结 Block底层分析Block的结构捕获自由变量捕获全局(静态)变量捕获静态变量__block修饰符forwarding指针 Block的copy时机block作为函数返回值将block赋给…...