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。
-
具体实践如下:
①如果一开始我们只创建文件,那么这三个参数的时间就是相同的,因为记录的都是文件的创建时间
②使用echo命令,向文件中写入内容时,文件内容和文件大小都被改变,所以Modify time和Change time都改变了
③使用cat命令读取文件内容,Access time被改变
-
touch命令中其它常用命令参数:
- -a 或--time=atime或--time=access或--time=use 只更改存取时间
- -c 或--no-create 不建立任何文档
- -d 使用指定的日期时间,而非现在的时间
- -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题
- -m 或--time=mtime或--time=modify 只更改变动时间
- -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同
- -t 使用指定的日期时间,而非现在的时间