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