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

Linux命令介绍:如何使用stat深入解析文件和文件系统状态

目录

一.Stat的下载方式

1.1Debian和Ubuntu系统的下载方式

1.2Centos和Red Hat系统的下载方式

二.Stat的基础用法

2.1基本语法

2.2命令常用选项和说明

2.2.1 可选选项解释

2.2.2文件状态信息可选选项

2.2.3文件系统状态信息可选选项

三.Stat用法实践

3.1查看文件系统的状态

3.2查看软连接的信息

3.3查看文件最后访问时间

3.4自定义的输出格式


一.Stat的下载方式

1.1Debian和Ubuntu系统的下载方式

        stat命令在coreutils包自带,一般情况下下载coreutils包即可:

sudo apt-get install coreutils

1.2Centos和Red Hat系统的下载方式

sudo yum -y install coreutils

二.Stat的基础用法

2.1基本语法

        stat的基本语法如下:

stat filename

        其中filename就是想要查看的文件名,下图所示是查看nginx情况的结果图:

        返回结果说明:

文件:文件名是“nginx”。

大小:文件大小为10,219,216字节(约10MB)。

块:文件占用19,960个数据块。块是文件系统存储数据的基本单位。

IO 块:输入输出(IO)块大小为4096字节(4KB),这是文件系统在读写数据时使用的最小单位。

类型:这是一个普通文件,与目录、符号链接等其他类型的文件系统对象相对。

设备:文件位于设备fd02h(十六进制表示,等同于十进制64770d)。

Inode:文件的索引节点号(Inode)是77207509。Inode是文件系统内部用于唯一标识文件的结构。

硬链接:文件有1个硬链接。每个文件至少有一个硬链接,即文件名本身。(如果有多个硬链接指向同一个Inode,则删除其中一个链接不会影响文件内容,直到所有链接都被删除。)

权限:文件权限是(0755/-rwxr-xr-x)。这表示文件所有者(Uid)有读、写和执行权限(rwx),组用户(Gid)和其他用户有读和执行权限(r-x)。

Uid:文件所有者的用户ID是0,用户名是root。

Gid:文件所属组的组ID是0,组名是root。

最近访问:文件最近一次被访问的时间。

最近更改:文件内容最近一次被更改的时间。

最近改动:文件元数据(如权限、所有者等)最近一次被改动的时间。

创建时间:这里的“创建时间:-”表示没有提供创建时间信息。

2.2命令常用选项和说明

        stat带有其他选项的用法如下:

stat [options] filename

        其中options代表命令的其他常用选项,有很多,下面一一具体说明:

2.2.1 可选选项解释

-L, --dereference:跟随符号链接,显示链接所指向的文件的状态信息。

-f, --file-system:显示文件系统状态信息,而不是文件状态信息。

-c, --format=FORMAT:使用指定的格式序列代替默认格式输出文件信息。每次使用格式序列后都会输出一个换行符。

--printf=FORMAT:类似于--format,但会解释反斜杠转义字符,并且不会强制输出尾随的换行符。如果需要在格式中包含换行符,可以在格式字符串中使用\n。

-t, --terse:以简洁形式输出文件信息。

--help:显示此帮助信息并退出。

--version:显示stat命令的版本信息并退出。

2.2.2文件状态信息可选选项

%a:以八进制表示的访问权限。

%A:以人类可读形式表示的访问权限。

%b:已分配的块数。

%B:每个块的大小(以字节为单位)。

%C:SELinux安全上下文字符串。

%d:设备号(十进制)。

%D:设备号(十六进制)。

%f:原始模式的十六进制表示。

%F:文件类型。

%g:文件所有者的组ID。

%G:文件所有者的组名。

%h:硬链接数。

%i:inode号。

%m:挂载点。

%n:文件名。

%N:带有符号链接解析的带引号文件名。

%o:最佳I/O传输大小提示。

%s:文件总大小(以字节为单位)。

%t:字符/块设备特殊文件的主设备类型(十六进制)。

%T:字符/块设备特殊文件的次设备类型(十六进制)。

%u:文件所有者的用户ID。

%U:文件所有者的用户名。

%w:文件创建时间。

%W:文件创建时间(自Epoch以来的秒数)。

%x:最后访问时间。

%X:最后访问时间(自Epoch以来的秒数)。

%y:最后修改时间。

%Y:最后修改时间(自Epoch以来的秒数)。

%z:最后更改时间。

%Z:最后更改时间(自Epoch以来的秒数)。

2.2.3文件系统状态信息可选选项

%a:非超级用户可用的空闲块数。

%b:文件系统中的总数据块数。

%c:文件系统中的总文件节点数。

%d:文件系统中的空闲文件节点数。

%f:文件系统中的空闲块数。

%i:文件系统的十六进制ID。

%l:文件名的最大长度。

%n:文件名(在这种情况下,可能是文件系统的挂载点或标识)。

%s:用于更快传输的块大小。

%S:用于块计数的基本块大小。

%t:文件系统的十六进制类型。

%T:文件系统的直接可读类型。

三.Stat用法实践

3.1查看文件系统的状态

        查看文件所在的文件系统状态的命令如下:

stat -f filename

        下图所示的是查看sbin所在的文件系统返回的信息:

3.2查看软连接的信息

        查看软链接的命令如下:

stat -L symbolic_link

        下图所示是查看一个软链接返回的信息:

3.3查看文件最后访问时间

        查看文件最后存取时间的命令如下:

stat -c '%x' filename

        下图所示是查看nginx最后访问时间返回的信息:

3.4自定义的输出格式

        除了上面的用法外,还可以根据实际情况自已定义查看文件结果的输出格式,下面是一种自定义的输出:

stat -c '%x %A %h %U %G %w' filename

        下图是返回信息:


文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。



http://www.kler.cn/a/349582.html

相关文章:

  • 数据库性能优化(sql优化)_SQL执行计划03_yxy
  • 【C++高并发服务器WebServer】-9:多线程开发
  • Leetcode 45. 跳跃游戏 II
  • Jason配置环境变量
  • C# 9.0记录类型:解锁开发效率的魔法密码
  • ESP32-CAM实验集(WebServer)
  • 江苏盐城中级职称申报条件及流程详解
  • ②PROFINET 转 EtherNet/IP, EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关
  • python爬虫--某动漫信息采集
  • 2024软件测试面试题大全【含答案】
  • Vue3 响应式数据
  • vue-jsonp的使用和腾讯地图当前经纬度和位置详情的获取
  • 【Vue】扫盲(五)Vue 的生命周期与钩子函数详解
  • Java基础:面向对象编程3
  • LLM-生成器判别器的实现
  • Vue中计算属性computed—(详解计算属性vs方法Methods,包括案例+代码)
  • 如何使用Python爬虫处理JavaScript动态加载的内容?
  • JavaSE——集合8:Map接口
  • 数组合并与排序练习题
  • 管理者如何开展和布置工作?
  • 【Java 并发编程】单例模式
  • 牛的旅行——Floyd
  • 【K8S系列】Kubernetes 集群中的网络常见面试题
  • 【代码随想录Day43】动态规划Part11
  • Scala入门基础(10)高级函数
  • Windows 11 开发详解:工具与高级用法