关于linux:通过8个案例全面掌握-linux-stat-命令

10次阅读

共计 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 仓库)

正文完
 0