共计 2050 个字符,预计需要花费 6 分钟才能阅读完成。
在 Linux 中,仿佛总是有一种奇妙的办法来实现工作。对于任何工作,总是有多个命令行实用程序以更好的形式执行它。Linux stat 命令是一个命令行工具,用于显示文件的详细信息。
在本指南中,咱们将重点介绍 Linux 中的 8 种 stat 命令用法。这实用于所有 Linux 发行版。
stat 命令
能够将 stat 命令看作 ls -l 命令的更好版本。尽管 -l 标记提供了对于文件的更多细节,比方文件所有权和权限,但 stat 命令更深刻,提供了对于文件的大量信息。
Linux stat 命令的语法如下所示
$ stat [OPTION] filename
(1) 不带参数的 stat 命令
以其最简略的模式 (没有任何参数),stat 命令显示默认输入。这包含文件大小和类型,设施类型,Inode 号,UID,GID,链接数以及文件的拜访 / 批改日期。
$ stat file1.txt
输入条目对应如下:
- File : 这将显示文件的名称
- Size : 文件大小 (以字节为单位)
- Block : 调配给文件的块数
- IO Block : 每个块的字节大小
- Device : 十六进制或十进制格局的设施号
- Inode : 文件的 inode 编号
- Links : 与文件相关联的硬链接数
- Access : 以符号或数字格局的文件权限
- Uid : 所有者的用户 ID 和的名称
- Gid : 所有者的组 ID 和名称
- Context : SeLinux 平安上下文
- File type : 文件的类型 (是否一般文件,符号链接等)
- Access : 文件最初被拜访的工夫
- Modify : 文件内容最初更改的工夫
- Change : 显示最近一次文件的元数据,如权限和所有权被扭转。
(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 指向 Panama,符号链接仅为 6 个字节。
要获取链接指向的文件的信息,应用 -L 选项,也称为解援用选项。
$ stat -L /usr/share/zoneinfo/America/Cayman
(6) 格局序列
在后面的例子中,咱们曾经看到 stat 命令在终端上打印大量信息。如果须要特定的信息,能够应用格局序列自定义输入,以提供所需的内容,并保留其余细节。
用于自定义输入的罕用表达式包含 printf 或 format 选项
例如,要只显示文件的 inode,请应用如下所示的 %i
格局序列。操作数 \n
打印新行。
$ stat --printf='%i\n' file1.txt
要显示拜访权限和 uid,请应用 %a
和 %u
格局序列。
$ stat --printf='%a:%u\n' 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 打印 Inode 编号
- %m 打印挂载点
- %n 显示文件名
- %N 显示带引号的文件名,如果是符号链接则解除援用
- %o 打印最佳的 I/O 传输大小提醒
- %s 总大小,以字节为单位
- %t 十六进制的次要设施类型,用于字符 / 块设施非凡文件
- %T 辅助设施类型,用于角色 / 块设施非凡文件
- %u 显示所有者的用户 ID
- %U 打印所有者的用户名
- %w 档案创立的工夫,人类可读 – 如果未知,显示为 0
- %W 档案创立的工夫,Epoch 工夫 – 如果未知,显示为 0
- %x 最初一次拜访的工夫,人类可读
- %X 最初一次拜访的工夫,Epoch 工夫
- %y 显示最初一次批改的工夫,人类可读
- %Y 显示最初一次批改的工夫,Epoch 工夫
- %z 最初一次扭转的工夫,人类可读
- %Z 最初一次扭转的工夫,Epoch 工夫
(7) 获取 stat 命令帮忙
要取得更多命令选项,请应用 stat 命令中的帮忙选项。
$ stat --help
您也能够拜访 stat 命令的手册页,运行
$ man stat
(8) 查看 stat 的版本
$ stat --version
我的开源我的项目
- course-tencent-cloud(酷瓜云课堂 – gitee 仓库)
- course-tencent-cloud(酷瓜云课堂 – github 仓库)