面向 Linux 新手的 5 个“stat”命令示例面向 Linux 新手的 5 个“stat”命令示例面向 Linux 新手的 5 个“stat”命令示例面向 Linux 新手的 5 个“stat”命令示例
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

面向 Linux 新手的 5 个“stat”命令示例

发表 admin at 2025年2月28日
类别
  • 未分类
标签

stat命令是查看文件或文件系统状态的有用实用程序。它检索文件类型等信息;八进制和人类可读的访问权限; SELinux 安全上下文字符串;文件生成时间、上次访问时间、上次数据修改时间、上次状态更改时间(人类可读的时间和自纪元以来的秒数)等等。

它可以选择指定自定义格式而不是默认格式来显示信息。在本指南中,我们将为 Linux 新手看五个 stat 命令示例。

检查 Linux 文件状态

1. 使用 stat 最简单的方法是为其提供一个文件作为参数。以下命令将显示文件 /var/log/syslog 的大小、块、IO 块、文件类型、inode 值、链接数以及更多信息,如屏幕截图所示:

$ stat /var/log/syslog

File: '/var/log/syslog'
  Size: 26572     	Blocks: 56         IO Block: 4096   regular file
Device: 80ah/2058d	Inode: 8129076     Links: 1
Access: (0640/-rw-r-----)  Uid: (  104/  syslog)   Gid: (    4/     adm)
Access: 2018-04-06 09:42:10.987615337 +0530
Modify: 2018-04-06 11:09:29.756650149 +0530
Change: 2018-04-06 11:09:29.756650149 +0530
 Birth: -

检查文件系统状态

2. 在前面的示例中,stat 命令将输入文件视为普通文件,但是,要显示文件系统状态而不是文件状态,请使用 -f 选项。

$ stat -f /var/log/syslog

File: "/var/log/syslog"
    ID: ce97e63d2201c974 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 84769790   Free: 16012830   Available: 11700997
Inodes: Total: 21544960   Free: 20995459

您还可以提供目录/文件系统作为参数,如图所示。

$ stat -f /

File: "/"
    ID: ce97e63d2201c974 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 84769790   Free: 16056471   Available: 11744638
Inodes: Total: 21544960   Free: 21005263

启用符号链接的跟踪

3.由于Linux支持链接(符号和硬链接),某些文件可能有一个或多个链接,甚至可能存在于一个文件中。文件系统。

要启用 stat 跟踪链接,请使用 -L 标志,如图所示。

$ stat -L /

 File: '/'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 80ah/2058d	Inode: 2           Links: 25
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-04-09 10:55:55.119150525 +0530
Modify: 2018-02-20 11:15:54.462893167 +0530
Change: 2018-02-20 11:15:54.462893167 +0530
 Birth: -

使用自定义格式显示信息

4. stat 还允许您使用特定或自定义格式而不是默认格式。 -c 标志用于指定使用的格式,它在每次使用格式序列后打印换行符。

或者,您可以使用 --printf 选项,该选项可以解释反斜杠转义序列并关闭尾随换行符的打印。例如,您需要在格式中使用 \n 来打印新行。

stat --printf='%U\n%G\n%C\n%z\n' /var/log/secure

上例中使用的文件格式序列的含义:

  • %U – 所有者的用户名
  • %G – 所有者的组名
  • %C – SELinux 安全上下文字符串
  • %z – 上次状态更改的时间,人类可读

5. 下面是一个示例,展示了文件系统接受的格式序列的使用。

stat --printf='%n\n%a\n%b\n' /

上述命令中使用的格式序列的含义。

  • %n – 显示文件名
  • %a – 打印非超级用户可用的空闲块
  • %b – 输出文件系统中的总数据块

以简洁形式打印信息

6. -t 选项可用于以简洁形式打印信息。

$ stat -t /var/log/syslog

/var/log/syslog 12760 32 81a0 104 4 80a 8129076 1 0 0 1523251873 1523256421 1523256421 0 4096

最后要注意的是,您的 shell 可能有自己的 stat 版本,请参阅您的 shell 文档以了解有关其支持的选项的详细信息。要查看所有接受的输出格式序列,请参阅 stat 手册页。

man stat 

在本文中,我们为 Linux 新手解释了五个 stat 命令示例。使用下面的反馈表提出任何问题。

©2015-2025 Norria support@norria.com