查看文件inode信息:stat

QuibblerQuibbler 2021-07-05 约 6 分钟 2103 次阅读

查看文件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

相关推荐

精选
获取系统SDK版本、判断手机ROM
Code

获取系统SDK版本、判断手机ROM

Build获取系统SDK版本Android中部分API的使用,需要在特定的SDK版本之后才能使用,因此在兼容老版本SDK的时候,经常需要判断API的版本。各种Android版本的对应关系参考《Android各版本对应的SDK版本》判断手机ROM有时候需要判断手机系统的ROM,检测ROM是MIUI、EMUI还是Flyme,可以使用getprop命令,去系统build.prop文件(关于build.p

3.7k
精选
AndroidStudio中各种中文乱码问题
Code

AndroidStudio中各种中文乱码问题

AndroidStudio中各种中文乱码问题1、编译Java错误信息乱码在出现这个Annotation processors must be explicitly declared now...问题的时候,正好也发现AndroidStudio Build Output错误信息都乱码。经常遇到各种问题,习惯了,现在遇到的问题,都是以后的答案。 1.1、修改项目build.gradle(无效)在整个p

2.4k
AndroidStudio 报错:has no declaration in the base values folder
Code

AndroidStudio 报错:has no declaration in the base values folder

在资源文件中正常定义的值,也能编译运行。昨天还正常,今天一打开就报错。应该又是AndroidStudio自身的Bug了。原因众说纷纭,参考Stack Overflow 一篇类似的讨论。解决:File => Invalidate Caches / Restart => Invalidate and Restart.

4.4k