stat命令:文件和目录的显示属性

时间:2020-03-05 15:29:47  来源:igfitidea点击:

大多数人使用LS命令使用选项-l来检查Linux中文件的权限。

如果我告诉你有更好的方法来检查文件属性吗?
这是一个简单但有用的命令,称为stat。

Linux中的stat命令

"stat命令"列出了文件和目录的重要属性。
它还可以在文件系统上显示信息,而不是文件。

它有简单的语法:

stat [options] files

stat命令只有几个选项:

  • -f:显示文件系统而不是文件的信息
  • -L:遵循符号链接并显示他们指向的文件的信息
  • -T:简化模式在单行中打印信息

使用stat命令获取文件信息

如果我们在没有任何选项的情况下使用stat命令,这是一个示例输出:

stat sample.txt 
  File: sample.txt
  Size: 426       	Blocks: 8          IO Block: 4096   regular file
Device: 10302h/66306d	Inode: 8259907     Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/igi)   Gid: ( 1000/igi)
Access: 2017-01-06 09:48:02.908946552 +0530
Modify: 2017-01-05 10:16:33.225203223 +0530
Change: 2017-01-06 19:51:28.737207649 +0530
 Birth: 

让我向你解释输出:

  • 文件:文件的名称。
  • 大小:以字节为单位的文件大小。
  • 块:文件系统数阻止磁盘上的文件需要。
  • IO阻止:文件系统块的大小。它通常为4 kB。
  • 文件类型:它可以是文件,目录,链接,套接字。
  • 设备:十六进制和十进制中的设备编号(硬盘驱动器ID)。
  • inode:inode号码。阅读更多关于Linux中的inode。
  • 链接:文件的硬链接数。
  • 访问:绝对模式和符号模式下的文件权限。
  • UID:用户ID和文件所有者的用户名
  • GID:文件所有者的组ID和组名称。
  • 访问:此访问是关于Access Timestamp(最后一次访问文件),也称为Atime。
  • 修改:修改时间戳(上次修改文件),也称为Mime。
  • 更改:更改时间戳(上次调用文件),也称为CTime。阅读本文以了解有关ATIME,MIFY和CTMIME的更多信息。
  • 出生:文件的原始创建日期。这在Linux中不使用。

如果我们使用选项-T的简洁模式,则在单行中会看到相同的信息(某些订单可能不同),但没有任何字段的描述是什么。

Hyman@theitroad:$stat -t sample.txt 
sample.txt 426 8 81b4 1000 1000 10302 8259907 1 0 0 1578284282 1578199593 1578320488 0 4096

使用stat命令获取文件系统信息

我们可以使用-f选项来显示文件系统的信息而不是文件本身。

Hyman@theitroad:$stat -f sample.txt 
  File: "sample.txt"
    ID: 65205b688c8b079c Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 61142095   Free: 41522899   Available: 38399635
Inodes: Total: 15597568   Free: 15279217

正如我们在输出中看到的,它为我们提供以下信息:

  • 文件:文件的名称。
  • ID:十六进制中的文件系统ID。
  • Namelen:文件名的最大长度。
  • 类型:文件系统类型。
  • 块大小:要申请读取请求以获得最佳数据传输速率的数据量。
  • 基本块大小:文件系统上块的大小
  • 总块,免费块和可用块(用于非root用户)
  • 总inodes和免费inode的数量

使用多个文件使用stat命令

我们可以使用多个文件运行stat命令。

我们可以单独提供他们的名称:

stat file1.txt file2.txt

我们还可以提供文件名模式:

stat *.txt