说明
用来显示文件的详细信息,包括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下的三个时间:
- Access Time:简写为atime,表示文件的访问时间。当文件内容被访问时,更新这个时间
- Modify Time:简写为mtime,表示文件内容的修改时间,当文件的数据内容被修改时,更新这个时间。
- 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 文件系统类型(格式化的类型,可读形式)