stat命令
  U9ElBp9F5cmM 2023年11月19日 13 0

stat显示文件的状态信息

stat命令简介


stat命令是一个用于显示文件或目录的状态信息的命令。它可以显示文件的访问权限、所属用户、所属组、文件大小、创建时间、修改时间、访问时间等信息。使用stat命令可以帮助用户更好地了解文件或目录的属性和状态,从而更好地管理和操作它们。

stat命令用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。stat命令可以查看的信息包括:

  1. File:显示文件名
  2. Size:显示文件大小
  3. Blocks:文件使用的数据块总数
  4. IO Block:IO块大小
  5. regular file:文件类型(常规文件)
  6. Device:设备编号
  7. Inode:Inode号
  8. Links:链接数
  9. Access:文件的权限
  10. Gid、Uid:文件所有权的Gid和Uid
  11. access time:表示我们最后一次访问(仅仅是访问,没有改动)文件的时间
  12. modify time:表示我们最后一次修改文件的时间
  13. change time:表示我们最后一次对文件属性改变的时间,包括权限,大小,属性等等
  14. Birth time : 文件创建时间,crtime,不过据查此属性linux已废弃,目前状态显示结果均为-

使用语法及参数说明

使用语法

用法:stat [OPTION]… FILE…

参数说明

参数

参数说明

-L

显示软链接指向的原始文件信息

-f

查看文件系统而非文件状态

-c

按照指定的格式输出信息,文件有效格式在下方表格中

-t

以简洁方式输出信息

简洁形式主要是把每个值的列头去掉了,只显示值,三个时间按照纪元至今秒数显示。

文件的有效格式序列

格式符格式符说明

%a八进制中的访问权限

%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人类可读形式的文件系统类型

————————————————

使用示例

获取命令帮助

stat --help

[root@node1 ~]# stat --help

用法:stat [选项]... 文件...

显示文件或文件系统的状态。


必选参数对长短选项同时适用。

跟随链接

显示文件系统状态而非文件状态

-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

显示此帮助信息并退出

显示版本信息并退出

查看命令版本

stat --version

[root@node1 ~]# stat --version

stat (GNU coreutils) 8.30

Copyright (C) 2018 Free Software Foundation, Inc.

许可证 GPLv3+:GNU 通用公共许可证第 3 版或更新版本<https://gnu.org/licenses/gpl.html>。

本软件是自由软件:您可以自由修改和重新发布它。

在法律范围内没有其他保证。

查看文件状态信息

[root@node1 ~]# stat outfile

文件:outfile

大小:1024 块:8 IO 块:4096 普通文件

设备:fd00h/64768d Inode:67158031 硬链接:1

权限:(0600/-rw-------) Uid:( 0/ root) Gid:( 0/ root)

环境:unconfined_u:object_r:admin_home_t:s0

最近访问:2023-05-30 23:14:55.874907615 +0800

最近更改:2023-05-30 23:14:51.821907783 +0800

最近改动:2023-05-30 23:14:51.821907783 +0800

创建时间:-

-f 查看文件所在文件系统的状态信息

[root@node1 ~]# stat -f outfile

文件:"outfile"

:fd0000000000 文件名长度:255 类型:xfs

块大小:4096 基本块大小:4096

块:总计:12305541 空闲:11864013 可用:11864013

Inodes: 总计:24623104 空闲:24590918

-t 以简洁方式输出文件信息

简洁形式主要是把每个值的列头去掉了,只显示值,三个时间按照纪元至今秒数显示

[root@node1 ~]# stat -t outfile

outfile 1024 8 8180 0 0 fd00 67158031 1 0 0 1685459695 1685459691 1685459691 0 4096 unconfined_u:object_r:admin_home_t:s0

-L 显示软链接原始文件状态信息

stat 软链接 显示的是软链接的信息

stat -L 软链接 显示的是软链接对应的原始文件信息

[root@node1 /]# stat bin

文件:bin -> usr/bin

大小:7 块:0 IO 块:4096 符号链接

设备:fd00h/64768d Inode:255381 硬链接:1

权限:(0777/lrwxrwxrwx) Uid:( 0/ root) Gid:( 0/ root)

环境:system_u:object_r:bin_t:s0

最近访问:2023-06-06 22:56:05.096417844 +0800

最近更改:2020-11-03 23:22:25.000000000 +0800

最近改动:2023-05-30 22:16:05.377003539 +0800

创建时间:-


[root@node1 /]# stat -L bin

文件:bin

大小:24576 块:80 IO 块:4096 目录

设备:fd00h/64768d Inode:100663427 硬链接:2

权限:(0555/dr-xr-xr-x) Uid:( 0/ root) Gid:( 0/ root)

环境:system_u:object_r:bin_t:s0

最近访问:2023-06-06 23:06:03.433465970 +0800

最近更改:2023-05-30 22:16:29.778004158 +0800

最近改动:2023-05-30 22:16:29.778004158 +0800

创建时间:-

[root@node1 /]#

-c 按照指定格式输出

获取文件的inode(也就是文件的ID列)

和ls -i 结果一样

[root@node1 ~]# stat -c %i outfile

67158031

[root@node1 ~]# ls -i outfile

67158031 outfile

获取文件所属用户或者用户ID

获取文件所属用户 %u 查看所属用户ID

stat -c %u file

[root@node1 ~]# stat -c %u outfile

0

获取文件所属用户ID %U 查看所属用户、

stat -c %U file

[root@node1 ~]# stat -c %U outfile

root

获取文件所属组或者所属组ID

获取文件所属组ID %g 查看所属组id

stat -c %g file

[root@node1 ~]# stat -c %g outfile

0

获取文件所属组 %G 查看所属组

stat -c %G file

[root@node1 ~]# stat -c %G outfile

root

获取文件磁盘挂载点

stat -c %m file

[root@node1 ~]# stat -c %m outfile

/


[root@node1 ~]# stat -c %m /dev/nvme0n1p1

/dev

获取文件访问时间

stat -c %x file

[root@node1 ~]# stat -c %x outfile

2023-05-30 23:14:55.874907615 +0800

获取文件修改时间

stat -c %z file

[root@node1 ~]# stat -c %z outfile

2023-05-30 23:14:51.821907783 +0800

获取文件权限

以字母显示

stat -c %A file

[root@node1 ~]# stat -c %A outfile

-rw-------

以数字显示

stat -c %a file

[root@node1 ~]# stat -c %a outfile

600


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
  6YY0QMPUXEwu   2023年12月10日   11   0   0 linux网卡
  jnZtF7Co41Wg   2023年12月11日   16   0   0 文件系统xmlGNU
  nIt0XG0acU8j   2023年12月11日   15   0   0 linuxhtop
  nIt0XG0acU8j   2023年12月09日   18   0   0 linuxsort