【Linux】Linux下的touch命令(Access,Modify,Change的区别)

时间:2024-04-14 09:23:57

Linux下touch命令中Access,Modify,Change的区别:

我们知道不管是在Windows中还是linux中,创建一个文件都会有相应的创建时间。在Linux中,文件也使用三个时间来记录文件的变动,这三个时间分别是Modification time (修改时间)、Change time(状态改动时间)、Access time(访问时间)。下面我们就来了解一下这几个时间之间的区别。

 

  • Modify time

Modify 指最后一次修改数据的时间,当该文件的“内容数据”更改时,就会更新这个时间。内容数据指的是文件的内容,而不是文件的属性或权限。

 

  • Change time

Change 指最后一次修改元数据的时间 ,当该文件的“状态”改变时,就会更新这个时间,也就是说,当文件的权限与属性被更改时,就会更新这个时间。

 

  • Access time

Access 指最后一次读取的时间,当“该文件的内容被取用”时,就会更新这个读取时间。举例来说,我们使用cat去读取一个文件时,就会更新该文件的Access time。

 

  • 具体实践如下:

①如果一开始我们只创建文件,那么这三个参数的时间就是相同的,因为记录的都是文件的创建时间

【Linux】Linux下的touch命令(Access,Modify,Change的区别)

②使用echo命令,向文件中写入内容时,文件内容和文件大小都被改变,所以Modify time和Change time都改变了

【Linux】Linux下的touch命令(Access,Modify,Change的区别)

③使用cat命令读取文件内容,Access time被改变

【Linux】Linux下的touch命令(Access,Modify,Change的区别)

  • touch命令中其它常用命令参数:

  • -a   或--time=atime或--time=access或--time=use  只更改存取时间
  • -c   或--no-create  不建立任何文档
  • -d  使用指定的日期时间,而非现在的时间
  • -f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题
  • -m   或--time=mtime或--time=modify  只更改变动时间
  • -r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同
  • -t  使用指定的日期时间,而非现在的时间