文章目录

  • 一 定义
  • 二 mtime和ctime的比较
  • 三 atime在访问文件后并不一定会修改
  • 四 相关操作命令对三个时间的影响

一 定义

缩写 全称 释义
atime Access Time 文件最后一次访问(读取或执行)的时间
mtime Modify Time 文件内容最后一次改变的时间
ctime Change Time 文件属性最后一次改变(包括权限、链接个数等)的时间

二 mtime和ctime的比较

mtime指的是文件内容最后一次被修改后的时间。
比如用echo将内容重定向至文件,或者用vim编辑文件内容时,时间会改变。

ctime指的是文件的元数据最后一次被修改的时间,也就是文件的属性信息。
比如更改文件的inode、文件的链接数、文件的权限、文件的属主和属组用户信息等。

需要注意的是,当文件的内容被修改时,首先block会必然改变,因为文件的大小与之前会不一致;其次inode也会随之变化,文件变得不同,属性信息也会发生改变;而inode的变化也会导致ctime的变化,因为元数据发生了改变。

简单总结就是,mtime改变,ctime就一定会改变;
ctime改变,mtime却不一定改变。

三 atime在访问文件后并不一定会修改

使用 ext3 文件系统的时候,如果在使用 mount 命令进行挂载时使用了 noatime 参数,那么就不会更新 atime 的信息。

事实上,无论读取文件,还是复制文件,都需要访问源文件,都会进行频繁的写操作,并且增加了磁盘的IO消耗,会相当消耗系统资源。如果完全禁止atime的修改,则会破坏 POSIX 兼容性。

针对这个问题,Linux 内核 2.6.20 开始为mount引入了一个–relatime选项,并从 2.6.30 开始这一选项默认是开启的。当开启了–relatime选项后,只有当 atime < mtimeatime < ctime 或文件的上次访问时间超过 1 天,才会去更新 atime。

上述设置,一方面大幅度减少atime写操作对系统资源的消耗,另一方面降低了对备份软件的影响(某些备份软件需要通过对比 atime、mtime、ctime 的时间来判断是否需要进行备份)。

四 相关操作命令对三个时间的影响

表示时间发生改变,用×表示不发生改变

命令 atime mtime ctime
cat × × ×
cp × × ×
mv ×
chmod × ×
chown × ×
touch
>
>>
vi、vim(不修改) × ×
vi、vim(修改)
执行可执行文件 × ×

LInux中的atime、mtime和ctime相关推荐

  1. Linux中的atim、mtime、ctime

    - Linux中的atime.mtime.ctime 一.文件中的atime.mtime.ctime 1.含义及各种事件标记的显示方法 atime:最近一次访问文件的时间用ls -lu看到的时间为at ...

  2. linux中三个time:atime、mtime、ctime

    linux中三个time:atime.mtime.ctime Linux文档的时间一般分三种:Access time-atime(访问时间).Modification time-mtime(内容修改时 ...

  3. Linux 中 ctime,mtime,atime 的区别

    文章目录 改变和修改的区别 ctime mtime atime 查看文件时间 关于 relatime 改变和修改的区别 改变和修改之间的区别在于是改变文件的属性还是改变文件的内容.如果有人说 chmo ...

  4. 转 微博 linux中ctime,mtime,atime的区别

    http://blog.sina.com.cn/s/blog_67178440010101gr.html 当你同熟练的UNIX用户进行交谈时,你经常会听到他们傲慢地讲出术语"改变时间(cha ...

  5. linux中ctime,mtime,atime的区别

    当你同熟练的UNIX用户进行交谈时,你经常会听到他们傲慢地讲出术语"改变时间(change time)"和"修改时间(modification time)".对 ...

  6. linux中文件属性mtime,linux stat (三个时间属性命令可用来列出文件的 atime、ctime 和 mtime。)...

    [[email protected] ~]# stat test/test2 File: 'test/test2' Size: 0               Blocks: 0          I ...

  7. linux ctime 格式化,atime,mtime,ctime说明

    说明: 在windows下,一个文件有:创建时间.修改时间.访问时间. 而在linux下,一个文件也有三种时间,分别是:访问时间.修改时间.状态改动时间. 两者有此不同,在linux下没有创建时间的概 ...

  8. linux文件的三个时间atime,mtime,ctime以及查找和修改方法

    atime是指access time,访问时间,即文件被读取或者执行的时间: mtime即modify time,指文件内容被修改的时间: ctime即change time文件状态改变时间. 操作 ...

  9. [Linux]文件的atime ctime mtime

    与文件有关的时间 访问时间 当读取文件内容时,就会更改这个时间.比如cat指令读取一个文件,这个文件的atime就会改变: 修改时间 这个时间指的是文件内容修改而非文件属性修改的时间.当数据内容被修改 ...

最新文章

  1. Linux美化——终端提示符
  2. bzoj2597: [Wc2007]剪刀石头布
  3. Java 答疑:为什么修改 Java 环境变量之后 java -version 不变?解决方式汇总
  4. 对Python装饰器的个人理解方法
  5. Apache ab 测试结果的分析
  6. i7 3960x支持服务器内存吗,酷睿i7 3960X支持多大内存
  7. Kruskal算法 最小生成树
  8. C# 代码调整屏幕分辨率
  9. 魔兽争霸修改器,局域网内使用!防封号!!!!!!!!
  10. 99%健身人士的疑问:营养补充窗口真的很重要吗?
  11. Simulink之S-function函数笔记之二
  12. 学号java_java ---- 定义一个表示学生的类 包括域“学号”、“班号”、“姓名”、“年龄”;...
  13. 第五届 蓝桥杯 海盗分金币 C语言
  14. Elasticsearch 搜索入门技术之一
  15. android 全键盘手机排行榜,小巧又精悍 3大系统直板全键盘手机搜罗
  16. ADNI数据集几个使用小技巧 【1】
  17. 量子计算(9)编程实践1:构造贝尔态
  18. 海海软件发布HHMeet MacOS和iOS版 – 加密保护Zoom视频会议,防止屏幕录像
  19. 华为交换机基础命令配置
  20. 【密码学Sage代码】椭圆曲线加密/解密(基于《密码编码学与网络安全——原理与实践(第七版)》)

热门文章

  1. insertSelective和insert的区别?
  2. 常见html的MIME类型
  3. 基于C语言的网络电子词典
  4. 在北京西单图书大厦签名售书
  5. libuv访问mysql_libuv中的QUEUE
  6. Swiper + 图片懒加载
  7. 18 个坏习惯,你一定要抛弃
  8. 人工智能软件的分析与验证(1) - AI软件的可靠性与落地方法
  9. ndk编译 错误:dlopen failed:cannot locate symbol 一个符号 referenced by 你的库.so/.a lang.UnsatisfiedLinkErr
  10. 技术分析:苹果之后 HTML5将改变移动互联网