zoukankan      html  css  js  c++  java
  • linux atime ctime mtime

    touch testtime

    1、 stat testtime【为文件名】 可以查看这个文件名的三者状态

    2、ll testtime;ll --time=atime testtime ;ll --time=ctime testtime

    -rw-r--r--. 1 root root 0 Sep 23 19:28 testtime
    -rw-r--r--. 1 root root 0 Sep 23 19:28 testtime
    -rw-r--r--. 1 root root 0 Sep 23 19:28 testtime

    3、vi 一下,里面写入内容

    ll testtime;ll --time=atime testtime ;ll --time=ctime testtime

    -rw-r--r--. 1 root root 6 Sep 23 19:29 testtime
    -rw-r--r--. 1 root root 6 Sep 23 19:29 testtime
    -rw-r--r--. 1 root root 6 Sep 23 19:29 testtime 【改变内容,导致三者均改变】

    4、date一下,嗯, 时间有改变。

    然后 chmod 777 testtime

    ll testtime;ll --time=atime testtime ;ll --time=ctime testtime

    -rwxrwxrwx. 1 root root 6 Sep 23 19:29 testtime
    -rwxrwxrwx. 1 root root 6 Sep 23 19:29 testtime
    -rwxrwxrwx. 1 root root 6 Sep 23 19:31 testtime  【改变权限导致ctime 有改变】

    5、有vi了一下,改变了内容

    -rwxrwxrwx. 1 root root 13 Sep 23 19:33 testtime
    -rwxrwxrwx. 1 root root 13 Sep 23 19:33 testtime
    -rwxrwxrwx. 1 root root 13 Sep 23 19:33 testtime 【三者所有都有改变】

    6、cat testtime 查看一下里面的你内容

    ll testtime;ll --time=atime testtime ;ll --time=ctime testtime 

    -rwxrwxrwx. 1 root root 13 Sep 23 19:33 testtime
    -rwxrwxrwx. 1 root root 13 Sep 23 19:34 testtime【只有atime 改变】
    -rwxrwxrwx. 1 root root 13 Sep 23 19:33 testtime

    --------------------------------------------

    总结:

    mtime (modification time ):在写入文件时随文件内容的更改而更改的时间。我们用ls -l看到的时间,就是mtime

    ctime (status time):是在写入文件、更改所有者、权限或链接设置时随Inode的内容更改而更改的时间。相当于ls -l –time=ctime所看到的时间 【改变权限这个时间有改变】

    atime (access time):读取文件或者执行文件时更改的时间。也就是用ls -l –time=atime看到的时间 【cat 查看文件,这个时间有改变】

    【改变文件内容】三者都有改变

    例子二:
    一、

    ll /etc/issue;ll --time=atime /etc/issue ;ll --time=ctime /etc/issue

    -rw-r--r--. 1 root root 47 Nov 27  2013 /etc/issue
    -rw-r--r--. 1 root root 47 Sep 18 19:07 /etc/issue
    -rw-r--r--. 1 root root 47 Jun 25 04:26 /etc/issue

    二、修改一下时间

    touch -t 0807151313 /etc/issue 【将issue文件日期改为2008/07/15 13:13】

    三、查看

    ll /etc/issue;ll --time=atime /etc/issue ;ll --time=ctime /etc/issue

    -rw-r--r--. 1 root root 47 Jul 15  2008 /etc/issue
    -rw-r--r--. 1 root root 47 Jul 15  2008 /etc/issue 【atime 和mtime 改变了,ctime也有改变】
    -rw-r--r--. 1 root root 47 Sep 23 19:46 /etc/issue【ctime改变成了当前的时间】

    ---------------------------

    例四:

    (1)关于ls命令

    ls -l    默认查看时间为mtime

    ls -lc  查看文件ctime

    ls -lu  查看文件atime

    比如下载了一个rpm文件

    ls -l    mtime  为rpm包创建时间

    ls -lc    ctime 为rpm包下载时间

    ls -lu    atime 为rpm包访问时间

    (2)、关于touch命令

    -a 修改文件的access time,同时会修改ctime为当前时间,-a默认修改文件访问时间为当前时间,设置其他时间须与-t或-d等参数一起使用。

    -m 修改文件的modification time,同时会修改ctime为当前时间,使用方法同-a。

    修改ctime为特定时间的方法:先修改系统时间为想设置的ctime时间,然后touch -a 或者touch -m修改,ctime随着更改为当前系统时间。

    (3)、其他

    vi 编辑后保存会同时修改掉这三个时间

    (4)chgrp、chown、chmod等命令会改变ctime,但atime、mtime不变。

  • 相关阅读:
    解决远程连接mysql很慢的方法(网络正常)
    分布式系统中可用性及容错性的区别
    设计模式个人思考
    记第一次多用户在Git提交代码
    Git远程分支的回退
    Linux模拟控制网络时延
    ubuntu 软件
    编译cubieboard android 源码过程详解之(六):pack
    编译cubieboard android 源码过程详解之(五):make
    编译cubieboard android 源码过程详解之(四):extract-bsp
  • 原文地址:https://www.cnblogs.com/bluewelkin/p/3990075.html
Copyright © 2011-2022 走看看