Linux中使用Stat命令显示文件属性
在 Linux 中使用 stat 命令可以获取文件权限、大小、mtime、ctime、atime、所有权和其他几个文件属性信息。
大多数人使用带选项 -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 的更多信息。
链接:文件的硬链接数量。
访问:绝对模式和符号模式下的文件权限。
Uid:用户 ID 和文件所有者的用户名
Gid:文件所有者的组 ID 和组名称。
访问:此访问是关于访问时间戳(上次访问文件的时间),也称为atime。
修改:修改时间戳(上次修改文件的时间),也称为 mtime。
更改:更改时间戳(上次调用文件的时间),也称为 ctime。阅读本文以了解有关 atime、mtime 和 ctime 的更多信息。
出生:文件的原始创建日期。 Linux 中不使用此功能。
如果您使用带有选项 -t 的简洁模式,您将在一行中看到几乎相同的信息(某些顺序可能不同),但没有任何关于哪个字段是什么的描述。
abhishek@linux:$ stat -t sample.txt
sample.txt 426 8 81b4 1000 1000 10302 8259907 1 0 0 1578284282 1578199593 1578320488 0 4096
使用 stat 命令获取文件系统信息
您可以使用 -f 选项来显示文件系统的信息而不是文件本身。
abhishek@linux:$ 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命令学习敬请关注。