liunx下对于modification time(更改mtime),status time(ctime),access time(atime)的理解与

来源:互联网 发布:海西商品交易所软件 编辑:程序博客网 时间:2024/05/17 08:16

一:操作环境

             基于liunx操作系统的虚拟机

二:实例创建及属性显示

         

1:进入超级用户模式并且创建一个文件 file1:

      touch file1

2:显示文件ctime,  mtime,  atime

 


三:概念

Access(atime):
       当“该文件的内容被取用”时,就会更新这个读取时间(atime)。举例说明 当我们使用cat file1读取内容时就会更新该文件的atime

程序代码:   cat file1



modification time(mtime):

当该文件的“内容数据”发生改变时,就会更新这个时间(mtime)。内容数据是指文件的内容,比如向 file1 文件中写入数据

程序代码:echo "hello world">file1

在图中,当输入指令后发现ctime 和 mtime都发生改变,其实可以这样理解,当你写入数据后,文件的大小发生改变,而文件大小就属于文件属性


status time(ctime):
         当文件的“状态”改变时,就会更新这个时间。举例说明,就是当文件的权限或属性发生改变时,都会更新这个时间

程序代码:chmod 0666 file1


四:使用touch命令更改ctime atime mtime

命令:touch -d .....    


图中使用了  touch -d "2 days ago" file1命令,修改了(atime/mtime)并没有改变(ctime)

命令:touch -a ....   


图中使用了 touch -a file1指令后,atime和ctime发生改变,mtime并没有改变



命令:touch -m ...




图中使用了 touch -m file1指令后, mtime和ctime发生改变,atime没有发生改变 



命令:touch -c ...  





图中使用了 touch -c file1命令,当file1不存在时,不创建文件;当文件存在时,更新ctime     atime      mtime



命令:touch -t ...



图中使用 touch -t 0702130202 file1(将时间改成2017-02-13 2:02)
实际修改的是atime 和 mtime






0 0