Linux stat 命令

juneyale

关注

阅读 21

03-10 09:00

stat 命令用于显示文件或文件系统的状态信息。它可以显示文件的详细信息,如文件的大小、所有者、权限、时间戳等,也可以显示文件系统的使用情况。以下是 stat 命令的详细说明:

命令语法

stat [选项] [文件或目录]

常见选项

  • -t:以简洁格式显示文件系统的状态信息。
  • -f:显示文件系统的状态信息,而不是文件的状态信息。
  • -c <格式>:指定输出的格式。
  • --version:显示 stat 命令的版本信息。
  • --help:显示 stat 命令的帮助信息。

常见用法

  • 显示文件的详细信息

stat 文件名

例如,要显示当前目录下的名为 “test.txt” 的文件的详细信息,可以使用以下命令:

stat test.txt

输出示例:

File: test.txt
  Size: 1024            Blocks: 8          IO Block: 4096   regular file
Device: 801h/2049d      Inode: 123456      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/  user)   Gid: ( 1000/  user)
Access: 2024-10-11 10:00:00.000000000 +0800
Modify: 2024-10-11 10:00:00.000000000 +0800
Change: 2024-10-11 10:00:00.000000000 +0800
Birth: -

输出信息的含义如下:

  • File:文件名。
  • Size:文件大小,以字节为单位。
  • Blocks:文件占用的块数。
  • IO Block:I/O 块大小。
  • Device:文件所在的设备号。
  • Inode:文件的 inode 号。
  • Links:文件的硬链接数。
  • Access:文件的权限。
  • Uid:文件所有者的用户 ID 和用户名。
  • Gid:文件所有者的组 ID 和组名。
  • Access:文件的最后访问时间。
  • Modify:文件的最后修改时间。
  • Change:文件的最后状态改变时间。
  • Birth:文件的创建时间(某些文件系统不支持此信息)。
  • 显示文件系统的状态信息

stat -f 目录名

例如,要显示当前目录所在的文件系统的状态信息,可以使用以下命令:

stat -f .

输出示例:

File: .
  ID: 0      Namelen: 255     Type: ext2/ext3
Blocks: Total: 1024000    Free: 512000    Available: 256000
Inodes: Total: 1024000    Free: 512000

输出信息的含义如下:

  • File:文件名或目录名。
  • ID:文件系统 ID。
  • Namelen:文件名的最大长度。
  • Type:文件系统类型。
  • Blocks:文件系统的块总数、空闲块数和可用块数。
  • Inodes:文件系统的 inode 总数和空闲 inode 数。
  • 以简洁格式显示文件系统的状态信息

stat -t 目录名

例如,要以简洁格式显示当前目录所在的文件系统的状态信息,可以使用以下命令:

stat -t .

输出示例:

0 255 ext2/ext3 1024000 512000 256000 1024000 512000

输出信息的含义与 stat -f 相同,只是以简洁格式显示。

  • 指定输出格式

stat -c <格式> 文件名

例如,要以自定义格式显示文件的大小和最后修改时间,可以使用以下命令:

stat -c "Size: %s, Modify: %y" test.txt

输出示例:

Size: 1024, Modify: 2024-10-11 10:00:00.000000000 +0800

常见的格式说明符如下:

  • %a:文件的最后访问时间,格式为 “秒”。
  • %A:文件的最后访问时间,格式为 “YYYY-MM-DD HH:MM:SS”。
  • %b:文件占用的块数。
  • %B:I/O 块大小。
  • %c:文件的最后状态改变时间,格式为 “秒”。
  • %C:文件的最后状态改变时间,格式为 “YYYY-MM-DD HH:MM:SS”。
  • %d:文件所在的设备号,格式为 “hex”。
  • %D:文件所在的设备号,格式为 “十进制”。
  • %F:文件类型。
  • %g:文件所有者的组 ID。
  • %G:文件所有者的组名。
  • %i:文件的 inode 号。
  • %m:文件的最后修改时间,格式为 “秒”。
  • %M:文件的最后修改时间,格式为 “YYYY-MM-DD HH:MM:SS”。
  • %n:文件名。
  • %o:文件的权限,格式为 “八进制”。
  • %s:文件大小,以字节为单位。
  • %u:文件所有者的用户 ID。
  • %U:文件所有者的用户名。

注意事项

  • stat 命令的输出信息可能会因文件系统类型的不同而有所差异。
  • 在某些情况下,文件的创建时间可能无法获取,这取决于文件系统是否支持此信息。

精彩评论(0)

0 0 举报