`
zhangxiong0301
  • 浏览: 358980 次
社区版块
存档分类
最新评论

linux中ctime,mtime,atime的区别(转载)

阅读更多

当你同熟练的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 做太多的修改, 而改善讀取效能.
分享到:
评论

相关推荐

    linux下find命令-atime,-ctime,-mtime真正含义

    本文将深入解析`find`命令中的三个时间参数:`-atime`, `-ctime`, 和 `-mtime`,以及如何结合这些参数来定位和管理文件。 ### 1. `-atime`(访问时间) `-atime` 参数用于查找在过去n天内被访问过的文件。这里的...

    浅谈find命令下的atime,ctime,mtime

    linux下的find命令提供了相当多的查找条件,功能很强大,由于find的功能很强大,所以他的选项也很多,今天我们来细说一下find命令下的三个时间参数atime,ctime,mtime. atime:access time,最近一次访问时间,当使用...

    windows下修改文件的atime、ctime、mtime的python代码

    使用方法: 输入python ModifyAMCtime.py 文件名 可以把文件的时间进行修改。可以修改代码,完成atime、ctime、mtime的自定义修改

    times:#golang文件时间(atime,mtime,ctime,btime)

    次 用法 #golang的文件时间 Go在大多数平台上都具有隐藏的... AccessTime ()) log . Println ( t . ModTime ()) if t . HasChangeTime () { log . Println ( t . ChangeTime ()) } if t . HasBirthTime () { log

    Linux find 按文件修改时间查找文件

    Linux系统中有三种主要的文件时间戳:访问时间(Access Time)、修改时间(Modification Time)和状态改变时间(Status Change Time),分别对应`atime`、`mtime`和`ctime`。它们的含义如下: - **访问时间(atime...

    Linux文件三种时间属性.pdf

    Linux 文件系统中的每个文件都具有三种时间属性:状态改动时间(ctime)、修改时间(mtime)和访问时间(atime)。理解这些时间属性的变化是非常重要的,特别是在文件管理和备份中。 状态改动时间(ctime) 状态...

    Linux文件查找命令之find讲解.doc

    - `-atime`和`-ctime`: 根据文件最后访问和状态更改时间查找。 - `-newer file1 ! file2`: 查找更新于`file1`但未更新于`file2`的文件。 - `-type`: 按照文件类型查找,如`b`(块设备)、`d`(目录)、`c`(字符设备...

    Linux下查找指定时间内修改过的文件.docx

    在查找指定时间内修改过的文件时,需要使用 `-atime`、`-ctime`、`-mtime` 等选项来限定时间范围。这些选项的作用如下: * `-atime n`:查找在 n 天之前访问过的文件。 * `-ctime n`:查找在 n 天之前状态修改过的...

    LINUX下c语言读取文件信息

    printf("Last access time: %s", ctime(&file_info.st_atime)); printf("Last modification time: %s", ctime(&file_info.st_mtime)); printf("Last status change time: %s", ctime(&file_info.st_ctime)); ...

    获取与修改文件创建、修改和访问时间

    要修改这些时间戳,可以使用`utime()`函数,它允许设置mtime和atime,但大多数Linux系统不支持直接修改ctime,除非具有相应的权限。 **Python示例代码:** ```python import os # 获取文件时间戳 file_path = '...

    linux中find命令的使用示例

    Linux 中 find 命令的使用示例 find 命令是 Linux 中一个功能强大的命令,用于查找文件和目录。它可以根据文件的各种属性,如名称、权限、所有者、组、修改时间、访问时间、创建时间等来查找文件。 基本语法 find ...

    linux下使用find命令根据系统时间查找文件用法.docx

    系统时间戳包括 mtime、atime 和 ctime。其中,mtime 指文件内容的最后修改时间,atime 指文件的最后访问时间,而 ctime 指文件状态的最后变化时间。需要注意的是,ctime 并不仅仅是指文件内容的修改,它还包括文件...

    常用linux基本操作

    `path`指定搜索的起始位置,`option`包含各种筛选条件,如`-name`指定文件名,`-type`指定文件类型(如`d`表示目录,`f`表示普通文件),`-mtime`、`-ctime`和`-atime`分别基于文件的修改时间、创建时间和最后访问...

    glusterfs的那些事-2.1.21

    当我们使用 `stat` 命令查看文件或目录信息时,可以看到 inode 号,以及诸如ctime、mtime和atime等时间戳。在 GlusterFS 中,这些信息用于跟踪文件的更新状态。ctime 表示文件或目录属性的最后更改时间,mtime 是...

    如何恢复误删除的Linux文件

    atime: 0x31a21dd1 -- Tue May 21 20:47:29 2001 mtime: 0x313bf4d7 -- Tue Mar 5 08:01:27 2001 dtime: 0x31a9a574 -- Mon May 27 13:52:04 2001 BLOCKS: 594810 594811 594814 594815 594816 594817 ………………...

    linux 查找命令大全及相关参数详解

    * `-atime`:指定要查找的文件访问时间。 * `-ctime`:指定要查找的文件创建时间。 * `-nogroup`:查找无有效属组的文件。 * `-nouser`:查找无有效属主的文件。 * `-newer`:查找更改时间比某个文件新但比另一个...

    Linux文件查找命令find,xargs详述

    - `-mtime`, `-atime`, `-ctime`:根据文件修改、访问、状态改变时间查找。 - `-nogroup`, `-nouser`:查找无有效组或属主的文件。 - `-newer file1 ! file2`:查找比`file1`新且比`file2`旧的文件。 - `-type`:按...

Global site tag (gtag.js) - Google Analytics