查看文件inode信息:stat
除了日常经常使用的ls命令查看文件信息,还有一个命令:stat,用于查看文件的详细信息及状态。
1、stat参数
--help选项快速了解stat命令的用法。
$ stat --help
用法:stat [OPTION]... FILE...
1.1、可选参数
stat命令用法比较简单,参数不多。
-L --dereference 跟随链接
-f --file-system 显示文件系统状态而不是文件状态
-c --format=FORMAT 使用指定的 FORMAT 而不是默认的;
每次使用 FORMAT 后输出换行符
--printf=FORMAT 与 --format 类似,但解释反斜杠转义,
并且不输出强制性的尾随换行符;
如果您想要换行符,请在 FORMAT 中包含 \n
-t --terse 以简洁的形式打印信息
--append-exe 如果需要 cygwin 魔法,则附加 .exe
--help 显示此帮助并退出
--version 输出版本信息并退出
1.2、格式参数
文件的有效格式选项(不带--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 人类可读形式的文件系统类型
2、示例
直接用stat和stat -L显示的文件信息是一样的:
File: ‘xiunobbs_4.0.4.zip’
Size: 1478978 Blocks: 2896 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 393219 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-10-06 13:34:27.892567517 +0800
Modify: 2019-09-19 22:38:55.000000000 +0800
Change: 2019-10-06 15:05:58.938063262 +0800
Birth: -
stat -f查看存储文件的文件系统信息:
File: "xiunobbs_4.0.4.zip"
ID: a418b7bed1badf57 Namelen: 255 Type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 10288184 Free: 7839774 Available: 7311403
Inodes: Total: 2621440 Free: 2466435
stat -t输出的文件信息并没有可阅读性,直接一行输出信息:
xiunobbs_4.0.4.zip 1478978 2896 81ff 0 0 fd01 393219 1 0 0 1570340067 1568903935 1570345558 0 4096
通常不需要所有信息,可以结合格式参数提取需要的信息,比如stat -t -c '%s' 只输出文件大小信息。
1478978
官网文档:
gnu/software/coreutils/stat
精彩的人生需要浪漫、无畏和勇气。