如何在Linux上使用stat命令

Linuxstat命令向您显示的详细信息比ls命令。以下文章将向您展示如何使用statLinux中的命令。

喜欢ls, 这stat命令有很多选择。这使其成为使用别名的好候选人。这使其更加方便,您不需要记住一组复杂的命令行选项。

在Linux上了解统计命令

  1. Stat命令告诉我什么?
  2. 将统计数据与多个文件一起使用
  3. 符号链接
  4. 报告Terse
  5. 自定义输出格式

Stat命令告诉我什么?

查看以下STAT命令:

 stat ana.h 

我们拥有的信息是:

  1. 文件:文件的名称。
  2. 尺寸:文件大小在字节中。
  3. 块:需要存储在硬盘驱动器上的文件系统块数量。
  4. IO块:文件系统块的大小。
  5. 文件类型:元数据描述的对象类型。
  6. 设备:设备编号为十六进制和十进制。
  7. inode:Inode数量。这就是此Inode的ID号。
  8. 链接:该图显示了该文件指向多少硬链接。
  9. 使用权:文件权限以传统的读,写和执行格式显示。
  10. uid:所有者的用户ID和帐户名。
  11. 吉德:组ID和所有者的帐户名。
  12. 使用权:标记访问时间。
  13. 调整:标记修改后的时间。这是最后修改文件内容的时间。
  14. 改变:标记变化的时间。这是文件的属性或内容最后修改的时间。
  15. 出生:设置以显示文件的原始创建日期,但这不是在Linux中完成的。

将统计数据与多个文件一起使用

拥有stat一次报告几个文件,将文件名传递给stat在命令行上:

 stat ana.h ana.o 

使用stat在一组文件上,使用适当的模式。问号'?''表示任何单个角色和星号'*'表示任何字符字符串。

使用STAT在文件系统上报告

stat命令可以报告文件系统的状态以及文件的状态。这-f(文件系统)选项需要stat报告文件所在的文件系统。请注意,您也可以移动一个目录'/'stat而不是文件名。

 stat -f ana.c 

STAT命令告诉我们:

  1. 文件:文件的名称。
  2. ID:十六进制符号中的文件系统ID。
  3. 纳曼:文件名的最大长度。
  4. 类型:文件系统类型。
  5. 块大小:为了获得最佳数据传输速率所需的数据量。
  6. 基本大小:每个文件系统块的大小。
  7. 块:
    1. 总计:文件系统中所有块的总数。
    2. 免费:文件系统中的自由块数量。
    3. 可用:普通用户可用的免费块数(不是根)。
  8. inodes:
    1. 总计:文件系统中的inodes总数。
    2. 免费:文件系统中的空inode的数量。

符号链接

如果您使用stat在实际上是符号链接的文件上,它将在该链接上报告。如果要在文件上报告链接指向文件,请使用-L(取消)选项。文件代码是指向ANA.C.的符号链接。当没有-l选项时考虑它:

 stat code.c 

文件名显示Code.C指向( - >)ana.c。文件大小仅为11个字节。没有可用于存储此链接的块。文件类型列出为符号链接。

再次运行命令并添加-L选项

 stat -L code.c 

文件的详细显示结果由符号链接指示。但是请注意,该文件名仍然提供为Code.C。这是链接的名称,而不是目标文件。

报告Terse

-t(TERSE)选项使该统计数据提供简洁的摘要:

 stat -t ana.c 

没有线索。要了解它的含义,直到您记住字段序列为止,您需要将此输出交叉引用到完整的输出。

自定义输出格式

从中获取不同数据集的更好方法stat是使用自定义格式。有一长串称为格式字符串的代币列表。这些都代表数据元素。选择要在输出中拥有的内容并创建格式字符串。当您致电stat并将格式字符串传递给它,输出将仅包括您要求的数据组件。

有两种接受格式字符串的选项- 格式-printf。它们之间的区别是-printf解释C型的逃生序列,并且不会自动为输出添加新线字符。

让我们创建一个格式字符串并将其转换为stat。使用的格式是%n对于文件名,%s对于文件大小,以及%f对于文件类型。在字符串的末端添加一个逃生字符串,以确保在新行上处理每个文件:

 "File %n is %s bytes, and is a %Fn" 

示例将将其转换为stat使用-printf选项

 stat --printf="File %n is %s bytes, and is a %Fn" code.c ana/ana.? 

每个文件的报告都在新行上列出。

自定义格式使您可以访问比标准中包含的更多数据元素stat输出。

如您所见,提取您感兴趣的特定数据元素有很多范围。

可能有兴趣