stat 命令

| 选择喜欢的代码风格  

stat 命令补充说明:


stat 命令用于显示文件的状态信息。stat 命令的输出信息比 ls 命令的输出信息要更详细。

stat 命令语法:


stat [OPTION]... FILE...

stat 命令选项:


-L, --dereference:支持符号连接;
-f, --filesystem:显示文件系统状态而非文件状态;
-t, --terse:以简洁方式输出信息;
-c, --format=FORMAT 使用指定的格式而不是默认格式
-Z, --context 打印 SELinux 安全上下文
--help:显示指令的帮助信息;
--version:显示指令的版本信息。

stat 命令参数:


文件:指定要显示信息的普通文件或者文件系统对应的设备文件名。

stat 命令实例


$ stat robots.txt 
  File: ‘robots.txt’
  Size: 10              Blocks: 8          IO Block: 4096   regular file
Device: fc00h/64512d    Inode: 269263395   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-10-11 11:43:30.000000000 +0800
Modify: 2019-10-11 11:43:30.000000000 +0800
Change: 2019-10-11 14:50:45.944664198 +0800
 Birth: -

$ stat -f robots.txt 
  File: "robots.txt"
    ID: fc0000000000 Namelen: 255     Type: xfs
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 130745984  Free: 101898563  Available: 101898563
Inodes: Total: 261619712  Free: 261412705

$ stat -t robots.txt 
robots.txt 10 8 81a4 0 0 fc00 269263395 1 0 0 1570765410 1570765410 1570776645 0 4096

stat 命令获取文件对应权限的数字:


方法 1:awk + substr

$ stat robots.txt |awk 'NR==4' |awk -F "(" '{print substr($2,2,3)}'   
644

方法 2:awk 多个分割符

$ stat robots.txt |awk 'NR==4' |awk -F '[(0/]' '{print $3}'
644

方法 3:cut

$ stat robots.txt |awk 'NR==4' |cut -c 11-13 
644

#其中所有的awk 'NR==4'的取行命令可用sed -n '4p'代替,效果相同。

方法 4:stat -c %a

%a Access rights in octal - 8进制显示访问权限,0644

$ stat -c %a robots.txt 
644

stat 命令扩展阅读:





发表评论