zoukankan      html  css  js  c++  java
  • Linux文件的时间

    关于Linux文件的ctime、atime和mtime等几个时间的介绍,推荐《Linux的3个文件时间》比较不错,这篇文章已经介绍的比较全面了,但是本文对它做进一步的解释,并对一些情况进行了验证和总结。

    * ctime

    补充说明

      网上很多地方叫它create time,是错的,正确的名字应该是change time,修改时间。下面就对ctime做了些测试。

      首先,我们创建一个新文件,并看看它的ctime情况。

      

      文件刚创建时,a、m、c三个时间相同。

      再重复执行一次前面的echo命令,

      

      ctime、mtime都修改了。

      只修改mtime属性,用touch修改。

      

      ctime和mtime又变成一样了。

       用vim修改并替换其中一个字符,不要让文件大小改变,看看ctime会变吗?

      

      

      三个时间都变了,且相同。

      用vim打开,什么也不改,然后按:q退出,看mtime变么?

       

      只有atime变了。

      只修改文件的执行权限属性:

      

      只有ctime变了。

     atime、ctime、mtime的行为总结:

      atime 对应文件的read操作,有read操作发生,则atime变化;

      ctime对应文件的writie操作,有write操作发生,则ctime变化;

      ctime对应文件的all change操作,all表示不仅文件的内容变化,还有文件的所有属性发生变化,都引发ctime更新。而atime和ctime仅记录对文件内容发生操作行为的时间。

    扩展

    显示文件属性的命令

    stat

    ls -l filename 显示mtime

    ls -lu filename 显示atime

    ls -lc filename 显示ctime

    修改文件属性的命令

    touch

    chmod

    user

    group

    发生文件读操作的命令

    cat

    more

    head

    less

    tail

    发生文件写操作的命令

    > 或>> 重定向命令

    发生读写操作的命令

    各类编辑器vi、vim、emacs,且只有改了情况下才有写发生。

    本篇文章出自“国民时代”,转载请注明转载出处。
  • 相关阅读:
    嵌入式Linux设备驱动编程(1):基础
    嵌入式Linux网络编程
    Linux进程间通信(5):消息队列
    Android网络通信(2):HTTP通信
    Android网络通信(3):Socket通信
    Android网络通信(5):WiFi
    Linux任务、进程和线程
    Android程序的安装和卸载
    Android网络通信(4):WebKit
    Android网络通信(1):Android网络基础
  • 原文地址:https://www.cnblogs.com/ChinaGo/p/10528898.html
Copyright © 2011-2022 走看看