用于Linux新手的5'stat'命令示例

stat命令是查看文件或文件系统状态的有用工具。 它检索诸如文件类型的信息; 八进制访问权和人类可读; SELinux安全上下文字符串 ; 文件出生时间,上次访问时间, 上次数据修改时间 ,上次状态更改时间以及自Epoch以来的秒数等等。

它有一个选项来指定一个自定义格式,而不是默认的,用于显示信息。 在本指南中,我们将查看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来跟踪链接,请使用-f标志,如图所示。

$ 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选项来启用对反斜杠转义序列的解释并关闭--printf换行符的打印。 例如,您需要在格式中使用\n来打印新行。

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

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

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

这是一个显示使用文件系统的可接受格式序列的例子。

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

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

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

以Terse表格打印信息

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的文档,了解它支持的选项的细节。 要查看所有接受的输出格式序列,请参阅统计手册页。

$ man stat 

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

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏