每个档案都有属性及内容。除了档案内容很重要外,时间标记也非常重要--系统管理员可以藉由时间标记进行备份、例行性检查;使用者可以从时间标记找出重要的档案,硬碟的I/O也依靠时间标记(time flag)来进行处理。

UNIX系统将时间标记分成三种:

  1. atime( A ccess time):档案上次被读取的时间。
  2. ctime(status C hange time):档案的属性或内容上次被修改的时间。
  3. mtime( M odified time):档案的内容上次被修改的时间。

我们可以用一个很简单的script来印证这些东西。

#!/bin/bash
echo "ctime: $(ls -lc newFile | awk '{print $6, $7, $8}')"
echo "atime: $(ls -lu newFile | awk '{print $6, $7, $8}')"
echo "mtime: $(ls -l newFile | awk '{print $6, $7, $8}')"

exit 0;


姑且把他命名为showTime.sh

1. 假设我们建立一个新档:

touch newFile

执行showTime.sh,你会发现三种时间是相同的:

ctime: Nov 17 23:14
atime: Nov 17 23:14
mtime: Nov 17 23:14

2. 隔一分钟后,写入一些东西到档案里面:

echo "1st modified" > newFile

结果发现:

ctime: Nov 17 23:15
atime: Nov 17 23:14
mtime: Nov 17 23:15

3. 再隔一分钟后,读取这个档案但不更动内容:

cat newFile

结果发现:

ctime: Nov 17 23:15
atime: Nov 17 23:16
mtime: Nov 17 23:15

4. 在隔一分钟,仅修改属性:

chmod g+wx newFile

结果发现:

ctime: Nov 17 23:17
atime: Nov 17 23:16
mtime: Nov 17 23:15

从这个lab里我们可以得到以下结论:

  • ls -l所列出的长资讯,该时间是mtime。
  • 如果利用touch某档案,则三种时间属性均被更新。
  • 如果你修改了某一档案内容,则ctime与mtime会更新。
  • 如果某档案仅被读取或另存新档,则只有atime会被改变。
  • 如果你只改变档案属性(如权限、档名、所有人或是suid、acl、chattr等),则只有ctime被更新。
  • atime相较之下是最常变动的时间标记,可以将之关闭以增进I/O,特别是多人多工,小档案多以及laptop环境。filesystem设定里可以增加noatime属性,或是chattr +A固定住atime(chattr仅适用于ext2/3/4系列的filesystem)

ctime, atime与mtime释疑的更多相关文章

  1. 【Linux常识篇(3)】文件及文件夹的ctime atime mtime的含义详解

    首先可以使用stat 命令来查询文件的inode信息,其中包括ctime atime mtime [root@localhost ~]# stat sort2.txt File: 'sort2.txt ...

  2. Linux下文件的三个时间(Atime,Mtime,Ctime)

    文件的三个时间 我们已经很熟悉windows系统了,那么我们在windows下新建一个文件,我们知道它在保存的时候肯定是会保存一下文件的创建时间之类的信息的,那么我们来看看windows下的一个文件保 ...

  3. Linux常用命令之 查找命令 find —— 细说 -atime,-mtime,-ctime

    我们知道 Linux里面一切皆文件 ,那么我们能否查看一个文件是何时创建的呢?答案是否定的.那我们可以知道些文件关于时间的什么信息呢?那就不得不说文件状态的三个时间了,它们分别是 -atime, -c ...

  4. mtime,ctime,atime

    mtime,ctime,atime是linux三个主要的变动时间. 这三个时间比较容易理解,但是不容易记忆,也容易搞混. mtime (modification time)  文件内容数据更改时,会更 ...

  5. Linux -atime、mtime、ctime

    Linux中,文件都有其自身的atime.mtime.ctime,在不同的命令下,各时间发生相应的改变.下面,我们来简单的介绍一下: atime (access time):表示最后一次访问文件或目录 ...

  6. atime、mtime、ctime

    当你同熟练的UNIX用户进行交谈时,你经常会听到他们傲慢地讲出术语“改变时间(change time)”和“修改时间(modification time)”.对于许多人(和许多字典而言),改变和修改是 ...

  7. atime、mtime、ctime的区别及如何降低atime更新 mount时的option noatime

    atime.mtime.ctime的区别及如何降低atime更新 mount时的option  noatime http://mp.weixin.qq.com/s?__biz=MzA3MzYwNjQ3 ...

  8. Linux之 find之 ctime,atime,mtime

    在Linux操作系统中,每个文件都有很多的时间参数,其中有三个比较主要,分别是ctime,atime,mtime atime 最后一次访问时间, 如 ls, more 等, 但 chmod, chow ...

  9. Linux的find命令实例详解和mtime ctime atime

    这次解释一下三个Linux文件显示的三个时间,然后展示一下find命令的各个功能 在linux操作系统中,每个文件都有很多的时间参数,其中有三个比较主要,分别是ctime,atime,mtime mo ...

随机推荐

  1. Uoj308【UNR #2】UOJ拯救计划

    分析:比较难分析的一道题,先把式子写出来,ans=∑C(k,i)*f(i),f(i)是选i个颜色的方案数.这个模数有点奇怪,比较小而且是合数,说不定就会有某种规律,如果i >= 3,可以发现C( ...

  2. Java常量池详解之Integer缓存

    一个Java question,求输出结果   public class IntegerTest { public static void main(String[] args) { objPoolT ...

  3. C语言 结构体作为参数和返回值使用

    方案一:结构体变量作为参数,进行传值. 编译器需要拷贝,不影响origin value,使用成员操作符(.)直接访问 /**************************************** ...

  4. [DeeplearningAI笔记]卷积神经网络1.2-1.3边缘检测

    4.1卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.2边缘检测示例 边缘检测可以视为横向边缘检测和纵向边缘检测如下图所示: 边缘检测的原理是通过一个特定构造的卷积核对原始图 ...

  5. Scrapy的安装--------Windows、linux、mac等操作平台

    Scrapy安装 Scrapy的安装有多种方式,它支持Python2.7版本及以上或者是Python3.3版本及以上.下面来说py3环境下,scrapy的安装过程. Scrapy依赖的库比较多,至少需 ...

  6. HDU 6158 笛卡尔定理 几何

    LINK 题意:一个大圆中内切两个圆,三个圆两两相切,再不断往上加新的相切圆,问加上的圆的面积和.具体切法看图 思路:笛卡尔定理: 若平面上四个半径为r1.r2.r3.r4的圆两两相切于不同点,则其半 ...

  7. SSM框架整合遇到的问题

    1.Maven中Dubbo集成spring2.5以上版本 项目中dubbo集成spring4.x,配置pom时需要注意排除spring的依赖,我这里用的是tomcat,所以把jboss也排除了: &l ...

  8. LintCode 156: Merge Interval

    LintCode 156: Merge Interval 题目描述 给出若干闭合区间,合并所有重叠的部分. 样例 给出的区间列表 => 合并后的区间列表: [ [ [1, 3], [1, 6], ...

  9. 用jquery实现小火箭到页面顶部的效果

    恩,不知道之前在哪看过一个页面效果就是如果页面被滑动了就出现一个小火箭,点击这个小火箭就可以慢慢回到页面顶部,闲的没事,自己搞了一下 需要引入jquery 代码和布局都很简单 <!DOCTYPE ...

  10. XML-RPC笔记

    1.什么是XML-RPC RPC(Remote Procedure Call)就是相当于提供了一种"远程接口"来供外部系统调用,常用于不同平台.不同架构的系统之间互相调用. XML ...