stat:显示文件或文件系统状态

xiaohai 2021-05-07 22:53:45 2147人围观 标签: Linux 
简介用来显示文件的详细信息,包括inode, atime, mtime, ctime
说明

  用来显示文件的详细信息,包括inode, atime, mtime, ctime

格式

  stat [option] [filename]

常用参数
  • -f:不显示文件本身的信息,显示文件所在文件系统的信息
  • -c:自定义输出格式,结尾有换行
  • -t:简洁模式,只显示摘要信息
显示出来的文件信息说明
  • File:显示文件名
  • Size:显示文件大小
  • Blocks:文件使用的数据块总数
  • IO Block:IO块大小
  • regular file:文件类型(常规文件)
  • Device:设备编号
  • Inode:Inode号
  • Links:链接数
  • Access:文件的权限
  • Gid、Uid:文件所有权的Gid和Uid。

Linux下的三个时间:

    1. Access Time:简写为atime,表示文件的访问时间。当文件内容被访问时,更新这个时间
    1. Modify Time:简写为mtime,表示文件内容的修改时间,当文件的数据内容被修改时,更新这个时间。
    1. Change Time:简写为ctime,表示文件的状态时间,当文件的状态被修改时,更新这个时间,例如文件的链接数,大小,权限,Blocks数。

上面最开始的三个时间是一模一样的,原因是我在创建它的同时修改了它的内容,所以它的大小,Blocks也发生变化,也相当于一次访问,所以,我退出保存后三个时间一致。

示例

1、查看文件的属性信息

[root@localhost ~]# stat /etc/hostname 
  File: ‘/etc/hostname’
  Size: 22            Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d    Inode: 38198316    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:hostname_etc_t:s0
Access: 2018-05-24 03:27:47.670941816 -0400
Modify: 2018-05-24 03:27:47.638941818 -0400
Change: 2018-05-24 03:27:47.669941816 -0400
 Birth: -

2、查看文件系统信息

[root@localhost ~]# stat -f /etc/hostname 
  File: "/etc/hostname"
    ID: fd0100000000 Namelen: 255     Type: xfs
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 4587008    Free: 3091776    Available: 3091776
Inodes: Total: 18358272   Free: 18269576

3、-t参数使用

[root@localhost ~]# stat -t /etc/hostname 
/etc/hostname 22 8 81a4 0 0 fd01 38198316 1 0 0 1527146867 1527146867 1527146867 0 4096 system_u:object_r:hostname_etc_t:s0

4、八进制文件权限,这个在shell编程中比较有用

[root@localhost ~]# stat -c '%a' /etc/hostname 
644
输出格式说明
1、可选的文件信息输出格式
  • %F 文件类型
  • %g 文件所有者的组ID
  • %G 文件所有者的组名
  • %h 硬链接的数量(文件本身算1个)
  • %i inode号
  • %n 文件名
  • %N 取消软连接的文件名引用,变成普通字符串
  • %o 系统格式化block的大小
  • %s 文件大小(单位byte)
  • %t 主要设备类型(十六进制)
  • %T 次要设备类型(十六进制)
  • %u 所有者的用户ID
  • %U 所有者的用户名
  • %x 最后访问时间
  • %X 最后一次访问时间(大纪元秒)
  • %y 最后修改时间(内容改变)
  • %Y 最后修改时间(内容改变)
  • %z 最后改变时间(文件属性,权限所有者等,格式大纪元秒)
  • %Z 最后改变时间(文件属性,权限所有者等,格式大纪元秒)
2、可选的分区信息输出格式
  • %a 普通用户可用的block数量
  • %b 分区的总数据块数量
  • %c 文件系统的inode总数
  • %d 空闲inode数量
  • %f 可用的block数量
  • %C 安全上下文
  • %i 分区ID(十六进制)
  • %l 分区文件名最大长度
  • %n 文件名
  • %s 块大小(都是系统block的大小)
  • %S 基本块大小(都是系统block的大小)
  • %t 文件系统类型(格式化的类型,十六进制)
  • %T 文件系统类型(格式化的类型,可读形式)