2015-08-03 创建
1、概述
显示文件或文件系统的状态
2、命令格式
stat [OPTION]... FILE...
3、常用命令参数
-L, --dereference 如果是链接文件,则获取原文件信息
-bash-4.1$ stat /etc/system-release
File: `/etc/system-release' -> `centos-release'
Size: 14 Blocks: 0 IO Block: 4096 symbolic link
Device: ca01h/51713d Inode: 917957 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2015-10-15 15:58:00.437135335 +0800
Modify: 2014-08-14 21:29:30.207999292 +0800
Change: 2014-08-14 21:29:30.207999292 +0800
-bash-4.1$ stat -L /etc/system-release # 添加了选项 -L
File: `/etc/system-release' # 不同处
Size: 27 Blocks: 8 IO Block: 4096 regular file # 不同处
Device: ca01h/51713d Inode: 918017 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2015-10-15 11:30:04.424496638 +0800
Modify: 2013-12-01 08:07:02.000000000 +0800
Change: 2014-08-14 21:29:30.203999293 +0800
-Z, --context 打印 SELinux 安全上下文
-f, --file-system 显示文件系统状态替代文件状态
-c --format=FORMAT 使用指定的格式替代默认格式,每行结尾有换行
--printf=FORMAT 类似 【-c --format=FORMAT】,但是每行结尾没有换行,如需换行在格式中使用 "\n"
-t, --terse 以简洁的格式打印信息
The valid format sequences for files (without --file-system):
对文件有效格式序列【对 --file-system 无效】
【略……】
Valid format sequences for file systems:
对文件系统格式化的信息
【略……】
4、常用示例
[oldboy@moban ~]$ stat passwd
File: `passwd'
Size: 1304 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 400432 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 500/ oldboy) Gid: ( 500/ oldboy)
Access: 2015-07-28 21:00:49.188557581 +0800
Modify: 2015-07-15 21:33:25.845153777 +0800
Change: 2015-07-20 22:40:25.191078176 +0800
参数讲解:
File: `passwd': 文件名称
Size: 1304: 文件大小
Blocks: 8:占用磁盘块多少【文件系统Block大小为 4096字节,磁盘Block为512字节,所以占用磁盘块=4096/512 -> 8】
IO Block: 4096:文件系统块大小【ext3默认为4096字节,也可以自己调整】
regular file 代表为普通文件【如果是目录为:directory 如果为连接文件为:symbolic link】。根据文件类型的不同显示不同的信息
Device: 803h/2051d 文件存放位置【具体也不是很了解】
Inode: 400432 文件的Inode 编号。【也可以使用 ls 命名中的 -i 查看】
Links: 1 连接数 普通文件至少一次链接,目录至少两次链接(分别为 . ..)
Access: (0644/-rw-r--r--) Uid: ( 500/ oldboy) Gid: ( 500/ oldboy) 分别为访问权限信息,属主信息,属组信息
Access: 2015-07-28 21:00:49.188557581 +0800 访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件使用more命令。ls、stat命令都不会修改文件的访问时间。
Modify: 2015-07-15 21:33:25.845153777 +0800 修改时间,对文件内容修改一次,这个时间就会更新。比如:vi后保存文件。ls -l列出的时间就是这个时间。
Change: 2015-07-20 22:40:25.191078176 +0800 状态改变时间。通过chmod命令更改一次文件属性,这个时间就会更新。查看文件的详细的状态、准确的修改时间等,可以通过stat命令文件名。
其他
可用通过 touch 命名改变文件的访问时间和修改时间。
请参见 http://blog.csdn.net/woshizhangliang999/article/details/46648705
5、命令所在位置和类型
[oldboy@moban oldboy]$ which stat
/usr/bin/stat
[oldboy@moban oldboy]$ type stat
stat is hashed (/usr/bin/stat)