【Linux】stat命令查看文件的三个时间

时间:2022-12-11 16:27:41

stat命令

  stat命令用于显示文件的状态信息。

语法

stat(选项)(参数) 

选项

   -L:支持符号连接;
   -f:显示文件系统状态而非文件状态;
   -t:以简洁方式输出信息;
   –help:显示指令的帮助信息;
   –version:显示指令的版本信息。

参数

文件:指定要显示信息的普通文件或者文件系统对应的设备文件名。

Linux下与文件相关的时间

  在Linux中,没有文件创建时间的概念。
  只有文件的访问时间、修改时间、状态改变时间。

  也就是说不能知道文件的创建时间。
   但如果文件创建后就没有修改过,修改时间=创建时间。
   如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间。
   如果文件创建后,没有被读取过,那么访问时间=创建时间。

  与文件相关的几个时间:

  1、访问时间

  读一次这个文件的内容,这个时间就会更新。比如对这个文件使用more命令。
  ls、stat命令都不会修改文件的访问时间。

  2、修改时间

  对文件内容修改一次,这个时间就会更新。比如:vi后保存文件。ls -l列出的时间就是这个时间。

  3、状态改变时间

  是该文件的i节点最后一次被修改的时间,通过chmod命令更改一次文件属性,这个时间就会更新。

stat

  当使用了stat命令时:
  【Linux】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 (最后修改时间)