Linux命令行——stat命令详解

1.命令功能

  stat命令主要用于显示文件或文件系统的详细信息。

2.语法格式

  stat [option] file

3.参数选项

  1. -L:显示符号链接所指向文件的信息
  2. -f:显示文件所在文件系统的信息


    这里写图片描述

  3. -t:以简洁方式输出信息


    Linux命令行——stat命令详解_第1张图片

    这里写图片描述

  4. -c:以特定格式输出文件的某些信息

    这里写图片描述

    这里写图片描述

以上两例选择的参数分别为“%A”(可读格式表示的访问权限)、“%i”(Inode 号),下面全部是可用的选项:

%a     八进制表示的访问权限
%A     可读格式表示的访问权限
%b     分配的块数(参见 %B)
%B     %b 参数显示的每个块的字节数
%d     十进制表示的设备号
%D     十六进制表示的设备号
%f     十六进制表示的 Raw 模式
%F     文件类型
%g     属主的组 ID
%G     属主的组名
%h     硬连接数
%i     Inode 号
%n     文件名
%N     如果是符号链接,显示器所链接的文件名
%o     I/O 块大小
%s     全部占用的字节大小
%t     十六进制的主设备号
%T     十六进制的副设备号
%u     属主的用户 ID
%U     属主的用户名
%x     最后访问时间
%X     最后访问时间,自 Epoch 开始的秒数
%y     最后修改时间
%Y     最后修改时间,自 Epoch 开始的秒数
%z     最后改变时间
%Z     最后改变时间,自 Epoch 开始的秒数

针对文件系统还有如下格式选项:

%a     普通用户可用的块数
%b     文件系统的全部数据块数
%c     文件系统的全部文件节点数
%d     文件系统的可用文件节点数
%f     文件系统的可用节点数
%C     SELinux 的安全上下文
%i     十六进制表示的文件系统 ID
%l     文件名的最大长度
%n     文件系统的文件名
%s     块大小(用于更快的传输)
%S     基本块大小(用于块计数)
%t     十六进制表示的文件系统类型
%T     可读格式表示的文件系统类型

4.其它

  1. stat命令从文件的索引节点获取信息。
  2. 文件的三个时间:

    Linux命令行——stat命令详解_第2张图片

Access time(atime):表示我们最后一次访问(仅仅是访问,没有改动)文件的时间。读一次这个文件的内容,这个时间就会更新,比如对这个文件运用 grep、sed、more、cat 、less、tail、head等命令,ls、stat命令都不会修改文件的访问时间。
Modify time(mtime):表示我们最后一次修改文件的时间。比如:vim后保存文件。ls -l列出的时间就是这个时间。
Change time(ctime):表示我们最后一次对文件属性改变的时间,包括权限,大小,属性等等。如使用chmod,chown,mv,ln,就会改变文件的Change time。

  根据上述解释,我们可以得出以下结论:

a).当我们仅仅只是读取文件时,access time 改变,而modify,change time 不会改变;
b).当修改文件时,access,modify,change time 都会跟着改变;
c).当修改文件属性时,change time 改变,而access,modify time 不变。

  另个,除了可以通过stat来查看文件的mtime,ctime,atime等属性,也可以通过ls命令来查看,具体如下:

ls -lu filename 列出文件的 atime (最后存取时间)
ls -l  filename 列出文件的 mtime (最后修改时间)
ls -lc filename 列出文件的 ctime (最后更改时间)

参考文献

[1] http://blog.csdn.net/qq_34328833/article/details/53869414
[2] http://blog.sina.com.cn/s/blog_605f5b4f01015k56.html
[3] http://www.jb51.net/LINUXjishu/344392.html
[4] http://www.linuxidc.com/Linux/2015-01/111705.htm
[5] http://blog.csdn.net/clozxy/article/details/7645284
[6] http://www.cnblogs.com/linux-super-meng/p/3812695.html
[7] http://lovelace.blog.51cto.com/1028430/1212625
以上为本文的全部参考文献,对原作者表示感谢。

你可能感兴趣的:(Linux)