Linux中的8个Stat命令示例
在Linux中,似乎总是有一种巧妙的方法来完成任务。 对于任何任务,总是有多个命令行实用程序可以更好地执行它。 Linux stat命令是一个命令行工具,用于显示有关文件的详细信息。 在本指南中,我们重点介绍Linux中8种stat命令的用法。 这适用于所有Linux发行版。
Linux stat命令
将stat命令视为ls -l命令的更好版本。 虽然-l标志提供了有关文件的更多详细信息,例如文件所有权和权限,但stat命令更深入了,并提供了有关文件的大量信息。
Linux stat命令的语法如下所示:
$ stat [OPTION] 文件名
1)Stat命令不带参数
stat命令以最简单的形式(没有任何参数)显示默认输出。 这包括文件大小和类型,设备类型,索引节点号,UID,GID,链接数和文件的访问/修改日期。
例如,要查看当前主目录中文件的文件详细信息,请执行:
$ stat file1.txt
让我们充实输出:
- 文件:显示文件名。
- 大小:文件大小,以字节为单位。
- 块:分配给文件的块数。
- IO块:这是每个块的字节大小。
- 设备:设备编号,十六进制或十进制格式。
- 索引节点:这是文件的索引节点号。
- 链接:与文件关联的硬链接数。
- 访问权限:符号或数字格式的文件权限。
- Uid:所有者的用户ID和名称。
- Gid:群组ID和所有者名称。
- 上下文:SeLinux安全上下文
- 文件类型:显示文件的类型(常规文件,符号链接等)。
- 访问:显示上次访问文件的时间。
- 修改:显示上次更改文件内容的时间。
- 更改:显示文件元数据(例如权限和所有权)上次更改的时间。
2)查看有关多个文件的信息
您可以通过在命令行上依次指定文件来查看有关多个文件的详细报告,如图所示。
$ stat file1.txt file2.pdf
3)显示文件系统状态
您可以使用-f选项来检查文件所在的文件系统状态,如下所示。 这为您提供了块大小,总内存和可用内存,仅提及一些属性。
$ stat -f /home
4)以简洁的形式显示信息
-t选项用于以简洁的格式显示信息,如下所示:
$ stat -t file1.txt
5)启用符号链接的跟随
通常,如果在符号链接上运行stat命令,它将仅为您提供有关链接的信息,而不会提供链接指向的文件。 以/ usr / share / zoneinfo / America / Cayman符号链接为例。
$ stat /usr/share/zoneinfo/America/Cayman
在上面的示例中,符号链接/ usr / share / zoneinfo / America / Cayman指向(->)巴拿马。 符号链接只有6个字节。
要获取有关链接指向的文件的信息,请使用-L选项,也称为 取消引用 选项。
$ stat -L /usr/share/zoneinfo/America/Cayman
现在,这将显示有关文件而不是链接的信息,即使输出表明它是链接。 这是因为我们通过stat命令将其作为参数传递。
6)格式排序
从前面的示例中,我们已经看到stat命令在终端上打印出一系列信息。 如果需要特定信息,可以使用格式序列来自定义输出,以准确提供所需内容并保留其他详细信息。
用于自定义输出的常用表达式包括–printf或–format选项
例如,要仅显示文件的索引节点,请使用%i格式序列,如下所示。 n操作数打印新行。
$ stat --printf="%in" file1.txt
要显示访问权限和uid(用户ID),请使用%a和%u格式序列。
$ stat --printf="%a:%un" file1.txt
–format选项可打印出新行,而无需其他操作数。
$ stat --format="%a:%F" file1.txt
这是您可以使用的格式序列的完整列表:
- %a以八进制格式显示访问权限。
- %A以易于阅读的格式显示访问权限。
- %b这是分配的块数(请参见%B)。
- %B由%b报告的每个块的字节大小。
- %C显示SELinux安全上下文字符串。
- %d以十进制格式显示设备编号。
- %D十六进制格式的设备号。
- %f以十六进制显示原始模式。
- %F显示文件类型。
- %g打印所有者的组ID。
- %G打印所有者的组名。
- %h显示硬链接数。
- %i打印出索引节点号。
- %m打印安装点。
- %n显示文件的文件名
- %N显示带符号引用的文件名,如果使用符号链接则取消引用
- %o打印最佳I / O传输大小提示。
- %s的总大小(以字节为单位)。
- %t主要设备类型(十六进制),用于字符/块设备特殊文件
- %T次要设备类型(十六进制),用于字符/块设备特殊文件
- %u显示所有者的用户ID。
- %U打印所有者的用户名。
- %w显示文件的生成时间,易于阅读; –如果未知。
- %W打印文件诞生的时间,距离纪元后的秒数; 如果未知,则为0。
- %x上次访问的时间,人类可以理解。
- %X上次访问的时间,距离纪元以来的秒数。
- %y显示上次修改的最后时间,便于阅读。
- %Y打印上次修改的时间,距离纪元以来的秒数。
- %z这是上次更改的时间,人类可以理解。
- %Z最后一次更改的时间,距离纪元以来的秒数。
7)获得有关stat命令的帮助
有关更多命令选项,请使用–help选项和stat命令,如图所示。
$ stat --help
您还可以访问stat命令的手册页,运行
$ man stat
8)检查stat版本
最后检查stat命令的版本,运行命令:
$ stat --version
这就是我们在本指南中为您准备的。 如您所见,stat命令超越了ls命令为您提供的功能,非常适合收集有关文件或文件系统的详细信息。
另请阅读 : Linux中14个有用的’ls’命令示例