stat命令
stat命令用于显示文件的状态信息。
语法
stat(选项)(参数)
选项
-L:支持符号连接;
-f:显示文件系统状态而非文件状态;
-t:以简洁方式输出信息;
–help:显示指令的帮助信息;
–version:显示指令的版本信息。
参数
文件:指定要显示信息的普通文件或者文件系统对应的设备文件名。
Linux下与文件相关的时间
在Linux中,没有文件创建时间的概念。
只有文件的访问时间、修改时间、状态改变时间。
也就是说不能知道文件的创建时间。
但如果文件创建后就没有修改过,修改时间=创建时间。
如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间。
如果文件创建后,没有被读取过,那么访问时间=创建时间。
与文件相关的几个时间:
1、访问时间
读一次这个文件的内容,这个时间就会更新。比如对这个文件使用more命令。
ls、stat命令都不会修改文件的访问时间。
2、修改时间
对文件内容修改一次,这个时间就会更新。比如:vi后保存文件。ls -l列出的时间就是这个时间。
3、状态改变时间
是该文件的i节点最后一次被修改的时间,通过chmod命令更改一次文件属性,这个时间就会更新。
stat
当使用了stat命令时:
如图所示,会出现3个类型的时间,分别是Access,Modify,Change。
下面我们就对这3个时间进行详细解释下。
access time:表示我们最后一次访问(仅仅是访问,没有改动)文件的时间
modify time:表示我们最后一次修改文件的时间
change time:表示我们最后一次对文件属性改变的时间,包括权限,大小,属性等等。
有以下三种情况:
1,当我们仅仅只是读取文件时,access time 改变,而modify,change time 不会改变
2,当修改文件时,access,modify,change time 都会跟着改变
3,当修改文件属性时,change time 改变,而access,modify time 不变。
除了可以通过stat来查看文件的mtime,ctime,atime等属性,也可以通过ls命令来查看,具体如下:
ls -lc filename 列出文件的 ctime (最后更改时间)
ls -lu filename 列出文件的 atime(最后存取时间)
ls -l filename 列出文件的 mtime (最后修改时间)