云网牛站
所在位置:首页 > Linux命令 > 介绍Linux系统中stat命令的使用方法,用它显示有关文件系统的信息

介绍Linux系统中stat命令的使用方法,用它显示有关文件系统的信息

2019-11-07 09:19:19作者:陈铜稿源:云网牛站

本文为你介绍Linux操作系统中的stat命令,内容有:使用stat命令、显示有关文件系统的信息、取消引用(跟随)符号链接、自定义输出。一句话:stat是一个命令行实用程序,用于显示有关给定文件或文件系统的详细信息。

介绍Linux系统中stat命令的使用方法,用它显示有关文件系统的信息

 

使用stat命令

stat命令的语法如下:

stat [OPTION]... FILE...

stat接受一个或多个输入文件名,并包括许多控制命令行为和输出的选项。

让我们看一下以下示例:

$ stat file.txt

输出将如下所示:

介绍Linux系统中stat命令的使用方法,用它显示有关文件系统的信息

在不带任何选项的情况下调用时,stat将显示以下文件信息:

File-文件名。

Size-文件的大小(以字节为单位)。

Blocks-文件占用的已分配块数。

IO Block-每个块的大小(以字节为单位)。

File type-(例如常规文件,目录,符号链接…)。

Device-设备编号(十六进制和十进制)。

Inode-索引节点编号。

Links-硬链接数。

Access-数字和符号方法中的文件权限。

Uid-所有者的用户ID和名称。

Gid-群组ID和所有者名称。

Context-SELinux安全上下文。

Access-上次访问文件的时间。

Modify-上次修改文件内容的时间。

Change-上次更改文件属性或内容的时间。

Birth-文件创建时间(Linux不支持)。

 

显示有关文件系统的信息

要获取有关给定文件所驻留的文件系统的信息,而不是有关文件本身的信息,请使用-f,(--file-system)选项:

$ stat -f file.txt

命令的输出将如下所示:

介绍Linux系统中stat命令的使用方法,用它显示有关文件系统的信息

使用-f选项调用stat时,它将显示以下信息:

File-文件名。

ID-文件系统ID(十六进制)。

Namelen-文件名的最大长度。

Fundamental block size-文件系统上每个块的大小。

Blocks:

1]、Total-文件系统中的总块数。

2]、Free-文件系统中可用块的数量。

3]、Available-非root用户可用的可用块数。

Inodes:

4]、Total-文件系统中的总索引节点数。

5]、Free-文件系统中空闲索引节点的数量。

 

取消引用(跟随)符号链接

默认情况下,stat不遵循符号链接,如果在符号链接上运行命令,则输出将包含有关符号链接的信息,而不是其指向的文件:

$ stat /etc/resolv.conf

命令的输出将如下所示:

介绍Linux系统中stat命令的使用方法,用它显示有关文件系统的信息

参考:用rm、unlink和find命令删除Linux中的符号链接(Symbolic Links)

要取消引用(跟随)符号链接并显示该符号链接指向的文件的信息,请使用-L,(--dereference)选项:

$ stat -L /etc/resolv.conf

命令的输出将如下所示:

介绍Linux系统中stat命令的使用方法,用它显示有关文件系统的信息

 

自定义输出

stat命令有两个选项,可让您根据需要自定义输出:-c,(--format="format")和--printf="format"。

这两个选项的区别在于,当两个或多个文件用作操作符时,--format在每个操作数的输出之后自动添加换行符,--printf解释反斜杠转义。

--format和--printf可以使用许多文件和文件系统的格式指令。

例如,仅查看文件类型,可以使用:

$ stat --format="%F" /dev/null

character special file

你可以组合任意数量的格式指令,并可以选择在它们之间使用自定义分隔符,分隔符可以是单个字符或字符串:

$ stat --format="%n,%F" /dev/null

/dev/null,character special file

要解释特殊字符,例如换行符或制表符,请使用--printf选项:

$ stat --printf='Name: %n\nPermissions: %a\n' /etc

\n打印新行:

Name: /etc

Permissions: 755

统计信息也可以以简洁的形式显示信息,此格式对于其他实用程序的解析很有用。

调用带有-t(--terse)选项的命令,以简洁的形式输出输出:

$ stat -t /etc

/etc 12288 24 41ed 0 0 801 8126465 147 0 0 1573068933 1573068927 1573068927 0 4096

有关文件和文件系统的所有格式指令的完整列表,请在终端中输入man stat或stat --help命令。

 

结论

stat命令显示有关给定文件和文件系统的信息。

在Linux操作系统中,还有其他几个命令可以显示有关给定文件的信息,其中ls是最常用的命令,但仅显示stat命令提供的信息中的一部分。

 

相关主题

不使用ls命令列出目录内容,转而使用替代命令的方法

Linux命令子频道
精选文章
热门文章