本文为你介绍Linux操作系统中的stat命令,内容有:使用stat命令、显示有关文件系统的信息、取消引用(跟随)符号链接、自定义输出。一句话:stat是一个命令行实用程序,用于显示有关给定文件或文件系统的详细信息。
使用stat命令 stat命令的语法如下: stat [OPTION]... FILE... stat接受一个或多个输入文件名,并包括许多控制命令行为和输出的选项。 让我们看一下以下示例: $ stat file.txt 输出将如下所示:
在不带任何选项的情况下调用时,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 命令的输出将如下所示:
使用-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 命令的输出将如下所示:
参考:用rm、unlink和find命令删除Linux中的符号链接(Symbolic Links)。 要取消引用(跟随)符号链接并显示该符号链接指向的文件的信息,请使用-L,(--dereference)选项: $ stat -L /etc/resolv.conf 命令的输出将如下所示:
自定义输出 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命令提供的信息中的一部分。
相关主题 |