http://blog.sina.com.cn/s/blog_67178440010101gr.html

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


    改变和修改之间的区别在于是改某个组件的标签还是更改它的内容。如果有人说chmod a-w myfile,那么这是一个改变;如果有人说echo foo >> myfile,那么 
这是一个修改。改变是文件的索引节点发生了改变;修改是文本本身的内容发生了变化。[文件的修改时间也叫时间标志 (timestamp).]

只要讨论改变时间和修改时间,就不可能不提到“访问时间(access time)”.访问时间是文件最后一次被读取的时间。因此阅读一个文件会更新它的访问时间,当它的改变时间并没有变化(有关文件的信息没有被改变),它的修改时间也同样如此(文件本身没有被改变)

有时,在许多地方改变时间或者“ctime”被错误地写成“创建时间”,包括某些UNIX参考手册。不要相信他们

下面是我man出来的内容,仅供参考!

st_atime
           Time when file data was last accessed. Changed by  the
           following   functions:   creat(),   mknod(),   pipe(),
           utime(2), and read(2).

st_mtime
           Time when data was last modified. Changed by the  fol-
           lowing  functions:  creat(), mknod(), pipe(), utime(),
           and write(2).

st_ctime
           Time when file status was last changed. Changed by the
           following   functions:   chmod(),   chown(),  creat(),
           link(2),  mknod(),  pipe(),  unlink(2),  utime(),  and
           write().

ls显示出的time应该是mtime。


touch后,文件的三个时间应该都会改变,可以试一试。

问题描述
文件的 ctime、mtime、atime 之间有什么区别? 
配置信息
解决方法
文件的 Access time,atime 是在读取文件或者执行文件时更改的。
文件的 Modified time,mtime 是在写入文件时随文件内容的更改而更改的。
文件的 Create time,ctime 是在写入文件、更改所有者、权限或链接设置时随 Inode 的内容更改而更改的。

因此,更改文件的内容即会更改 mtime 和 ctime,但是文件的 ctime 可能会在 mtime 未发生任何变化时更改 - 在权限更改,但是文件内容没有变化的情况下。 
ls(1) 命令可用来列出文件的 atime、ctime 和 mtime。
ls -lc filename         列出文件的 ctime
ls -lu filename         列出文件的 atime
ls -l filename          列出文件的 mtime

atime不一定在访问文件之后被修改,因为:使用ext3文件系统的时候,如果在mount的时候使用了noatime参数那么就不会更新atime的 信息。而这是加了 noatime 取消了, 不代表真實情況.反正, 這三個 time stamp 都放在 inode 中.若 mtime, atime 修改, inode 就一定會改, 既然 inode 改了, 那 ctime 也就跟著要改了.之所以在 mount option 中使用 noatime, 就是不想 file system 做太多的修改, 而改善讀取效能.

转载于:https://www.cnblogs.com/lyy3306/p/6292629.html

转 微博 linux中ctime,mtime,atime的区别相关推荐

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

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

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

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

  3. linux中系统调用和库函数的区别

    linux中系统调用和库函数的区别 2013-05-03 22:18:20 分类: LINUX 首先,要说一下两者的概念: 系统调用 :是操作系统为用户态运行的进程和硬件设备(如CPU.磁盘.打印机等 ...

  4. Linux 中su 与su - 的区别

    Linux 中su 与su - 的区别 一.区别 Linux 中切换用户的命令是 su 或 su - . su命令和 su - 命令最大的本质区别就是: 前者只切换了root身份 , 但是shell环 ...

  5. Linux中su与su - 的区别

    Linux中su与su - 的区别 最近在学习任务调度执行,其中我要在轮子组下的一个用户,使用at并重定向,发现没有权限 下面是使用su [root@alytest ~]# su jack [jack ...

  6. Linux中EXT3与EXT4的区别!

    在Linux系统中,日志文件系统分为很多种类型,其中比较典型的是:ext3.ext4.xfs等,那么Linux中EXT3与EXT4的区别有哪些?以下是详细的内容介绍. Linux Kernel自2.6 ...

  7. linux中hda和sda的区别

    linux中hda和sda的区别 hda一般是指IDE接口的硬盘,hda一般指第一块硬盘,类似的有hdb,hdc等 sda一般是指SATA接口的硬盘,sda一般指第一块硬盘,类似的有sdb,sdc等 ...

  8. Linux中线程和进程的区别

    Linux中线程和进程的区别 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,它是系统进行资源分配和调度的一个独立单位.例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括 ...

  9. linux mkdir -m权限,Linux中mkdir和touch命令区别

    一.目的 本文将介绍linux下新建文件或文件夹.删除文件或文件夹命令.         touch能够新建文件,mkdir用来新建文件夹.rm用来删除文件或文件夹.         本文将选取ubu ...

最新文章

  1. HDU_Virtual Friends (并查集)
  2. 解决zabbix3.4图表显示中文乱码问题
  3. 安卓中AIDL的使用方法快速入门
  4. html5属性详解,HTML5中的download属性详解
  5. springboot1——spring相关入门
  6. axios流输出excel
  7. SpringNote01.基于SpringMVC-Hibernate的Blog系统
  8. Java IO流基础
  9. fl2440 3G拨号
  10. navigateTo和navigateBack的使用
  11. 带宽与码元的关系_比特率与带宽什么关系
  12. CSDN博客上传的图片水印去除
  13. MySQL查询结果导出方式总结
  14. Basic grammar of Python day2
  15. 从魔兽玩家到区块链领袖,V神是如何打造出区块链2.0代表的以太坊
  16. 透视变换(perspective transformation)和射影(投影)变换(projective transformation)
  17. py 爬取汽车之家新闻案例
  18. SQL审核 | 如何利用 OpenAPI 实现自己的扫描任务
  19. 2021年危险化学品经营单位主要负责人考试资料及危险化学品经营单位主要负责人新版试题
  20. 色光三原色RGB相加减

热门文章

  1. Top 15 不起眼却有大作用的 .NET功能集
  2. (转)I 帧和 IDR 帧的区别
  3. 在Ubuntu下FFmpeg编译,支持x264和x265(HECV)
  4. 在linux系统下实现音视频即时通讯的部分代码
  5. demo17 clean-webpack-plugin (清除模式)
  6. 详解物联网的中间件:为何说它是不可或缺的?
  7. java中缀表达式转后缀表达式(逆波兰算法)
  8. 201671010128 2017-11-12《Java程序设计》之图形程序设计
  9. 你有没有试过“闭上眼”使用:京东、滴滴、QQ、支付宝?
  10. SQLServer On Linux Package List on CentOS