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

大多数人使用带有选项 -l 的 ls 命令来检查 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/abhishek)   Gid: ( 1000/abhishek)
Access: 2020-01-06 09:48:02.908946552 +0530
Modify: 2020-01-05 10:16:33.225203223 +0530
Change: 2020-01-06 19:51:28.737207649 +0530
 Birth: -

让我向您解释一下输出:

  • 文件: 文件名。
  • 尺寸:文件的大小(以字节为单位)。
  • :磁盘上文件需要的文件系统块数。
  • IO 块:文件系统块的大小。 通常为 4 KB。
  • 文件类型: 它可以是文件、目录、链接、套接字。
  • 设备:十六进制和十进制的设备号(硬盘ID)。
  • 索引节点: 索引节点号。 阅读更多关于 Linux 中的 inode 的信息。
  • 链接:文件的硬链接数。
  • 使用权:绝对模式和符号模式下的文件权限。
  • 用户界面: 用户 id 和文件所有者的用户名
  • 吉德: 文件所有者的组 id 和组名。
  • 使用权:这个访问是关于访问时间戳(上次访问文件的时间),也称为atime。
  • 调整:修改时间戳(上次修改文件的时间),也叫mtime。
  • 改变:更改时间戳(上次调用文件的时间),也称为 ctime。 阅读本文以了解有关 atime、mtime 和 ctime 的更多信息。
  • 出生:文件的原始创建日期。 这在 Linux 中不使用。

如果您使用带有选项 -t 的简洁模式,您将在一行中看到几乎相同的信息(某些顺序可能不同),但没有任何关于哪个字段是什么的描述。

[email protected]:$ stat -t sample.txt 
sample.txt 426 8 81b4 1000 1000 10302 8259907 1 0 0 1578284282 1578199593 1578320488 0 4096

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

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

[email protected]:$ 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 用户)
  • 总 inode 数和空闲 inode 数

对多个文件使用 stat 命令

您可以对多个文件运行 stat 命令。

您可以像这样单独提供他们的姓名:

stat file1.txt file2.txt

您还可以提供文件名模式:

stat *.txt

我希望你喜欢这个方便的小命令。 请继续关注更多 Linux 命令学习。