利用 stat 命令显示文件或文件系统状态

本文将介绍 Linux 的 stat 命令,利用 stat 命令显示文件或文件系统状态

linux 的 stat 命令用来显示文件或文件系统状态。

语法

stat [OPTION]... FILE...

选项:

  • -L, --dereference 显示符号链接

  • -f, --file-system 显示文件系统状态而不是文件状态

  • -c  --format=FORMAT 使用指定的 FORMAT 而不是默认值;每次使用 FORMAT 后输出换行符

  • --printf=FORMAT 类似于 --format,但解释反斜杠转义,并且不输出强制性的尾随换行符;如果你想要换行,需要在 FORMAT 中包含 \n 符。

  • -t, --terse 以简洁的形式打印信息

  • --help 显示该命令的帮助信息

  • --version 输出命令的版本信息

文件有效格式(不带 --file-system 参数):

  • %a 八进制访问权限(注意 '#' 和 '0' printf 标志)

  • %A 人类可读形式的访问权限

  • %b 分配的块数(见 %B)

  • %B 由 %b 报告的每个块的字节大小

  • %C SELinux 安全上下文字符串

  • %d 十进制设备号

  • %D 十六进制设备号

  • %f 十六进制原始模式

  • %F 文件类型

  • %g 所有者的组ID

  • %G 所有者的组名

  • %h 硬链接数

  • %i 索引节点号

  • %m 挂载点

  • %n 文件名

  • %N 带引号的文件名,如果是符号链接,则取消引用

  • %o 最佳 I/O 传输大小提示

  • %s 总大小,以字节为单位

  • %t 十六进制的主要设备类型,用于字符/块设备特殊文件

  • %T 十六进制次要设备类型,用于字符/块设备特殊文件

  • %u 所有者的用户ID

  • %U 所有者用户名

  • %w 文件创建时间,人类可读;如果未知,则为-

  • %W 文件创建时间,自 Epoch 以来的秒数;如果未知,则为0

  • %x 上次访问时间,人类可读

  • %X 上次访问的时间,自 Epoch 以来的秒数

  • %y 上次修改数据的时间,人类可读

  • %Y 上次修改数据的时间,自 Epoch 以来的秒数

  • %z 上次状态更改的时间,人类可读

  • %Z 上次状态更改的时间,自 Epoch 以来的秒数

文件系统的有效格式:

  • %a 非超级用户可用的空闲块

  • %b 文件系统中的总数据块

  • %c 文件系统中的文件节点总数

  • %d 文件系统中的空闲文件节点

  • %f 文件系统中的空闲块

  • %i 十六进制的文件系统 ID

  • %l 文件名的最大长度

  • %n 文件名

  • %s 块大小(用于更快的传输)

  • %S 基本块大小(用于块计数)

  • %t 十六进制的文件系统类型

  • %T 人类可读形式的文件系统类型

注意:

  • --terse 等价以下格式:%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %W %o %C

  • --terse --file-system 等价以下格式:%n %i %l %t %s %S %b %f %a %c %d

示例

(1)分析文件或目录的信息,例如:查看 /etc/rc0.d 目录状态信息,如下:

hxstrive@ubuntu:~/Desktop$ stat /etc/rc0.d/
  File: /etc/rc0.d/
  Size: 4096      Blocks: 8          IO Block: 4096   directory
Device: 805h/2053dInode: 131167      Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2021-10-21 13:04:03.140046400 +0800
Modify: 2021-09-30 13:54:41.090197158 +0800
Change: 2021-09-30 13:54:41.090197158 +0800
 Birth: -

(2)查看 sda 硬盘文件系统的信息,如下:

hxstrive@ubuntu:~/Desktop$ stat /dev/sda
  File: /dev/sda
  Size: 0         Blocks: 0          IO Block: 4096   block special file
Device: 5h/5dInode: 341         Links: 1     Device type: 8,0
Access: (0660/brw-rw----)  Uid: (    0/    root)   Gid: (    6/    disk)
Access: 2021-10-21 10:06:15.342973189 +0800
Modify: 2021-10-21 10:06:13.206973094 +0800
Change: 2021-10-21 10:06:13.206973094 +0800
 Birth: -

(3)查询 /etc/rc0.d 文件所在文件系统的文件系统信息,如下:

hxstrive@ubuntu:~/Desktop$ stat -f /etc/rc0.d/
  File: "/etc/rc0.d/"
    ID: cb7da77fc70020ee Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 4998044    Free: 2280496    Available: 2020848
Inodes: Total: 1277952    Free: 1014487

(4)自定义 stat 输出格式,如下:

hxstrive@ubuntu:~/Desktop$ stat --format=file_size:%s /etc/rc0.d/
file_size:4096
少壮不努力,老大徒悲伤。——汉乐府古辞《长歌行》
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号