atime ctime mtime的影响

在linux系统中,文件是时间戳属性有三个

  • Access
  • Modify
  • Change

这三个可以通过 stat 命令来查看

相应的,find命令中有三个参数atime mtime ctime分别呢对应着Access、Modify、Change 配合着相应的参数,可以用来查找相应时间范围内的文件,按照文档解释

简名 全名 中文名 含义
atime access time 访问时间 文件中的数据库最后被访问的时间
mtime modify time 修改时间 文件内容被修改的最后时间
ctime change time 变化时间 文件的元数据发生变化。

什么样的操作会影响这三个时间,这个就是比较模糊的。为了搞清楚,先来做一些操作来验证一下。
创建一个文件

touch  timestamp

然后来查看一下这个文件的三个时间戳

$ stat timestamp
  File: `timestamp‘
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: fc01h/64513d    Inode: 802838      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-05-18 16:50:53.000000000 +0800
Modify: 2019-05-18 16:50:53.000000000 +0800
Change: 2019-05-18 16:50:53.000000000 +0800

以下就是验证操作:

  • echo命令
echo ‘test‘ >> timestamp
  File: `timestamp‘
  Size: 5           Blocks: 8          IO Block: 4096   regular file
Device: fc01h/64513d    Inode: 802838      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-05-18 16:50:53.000000000 +0800
Modify: 2019-05-18 16:50:59.000000000 +0800
Change: 2019-05-18 16:50:59.000000000 +0800

可以看到 mtime与ctime都发生了改变,但是atime没有变化

  • vim

使用vim在做操作

vim timestamp
  File: `timestamp‘
  Size: 7           Blocks: 8          IO Block: 4096   regular file
Device: fc01h/64513d    Inode: 802838      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-05-18 16:50:53.000000000 +0800
Modify: 2019-05-18 16:51:58.000000000 +0800
Change: 2019-05-18 16:51:58.000000000 +0800

同样的 mtime与ctime都发生了改变,但是atime没有变化

  • ls more less cp cat
    再用ls命令查看一下
ls timestamp
timestamp

$ stat timestamp
  File: `timestamp‘
  Size: 7           Blocks: 8          IO Block: 4096   regular file
Device: fc01h/64513d    Inode: 802838      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-05-18 16:50:53.000000000 +0800
Modify: 2019-05-18 16:51:58.000000000 +0800
Change: 2019-05-18 16:51:58.000000000 +0800
$ cat timestamp
testaa

$ stat timestamp
  File: `timestamp‘
  Size: 7           Blocks: 8          IO Block: 4096   regular file
Device: fc01h/64513d    Inode: 802838      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-05-18 16:50:53.000000000 +0800
Modify: 2019-05-18 16:51:58.000000000 +0800
Change: 2019-05-18 16:51:58.000000000 +0800
$ more timestamp
testaa

$ stat timestamp
  File: `timestamp‘
  Size: 7           Blocks: 8          IO Block: 4096   regular file
Device: fc01h/64513d    Inode: 802838      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-05-18 16:50:53.000000000 +0800
Modify: 2019-05-18 16:51:58.000000000 +0800
Change: 2019-05-18 16:51:58.000000000 +0800

三个时间都没有变化

注意,关于查看文件内容atime没有发生变化,可能会有一些歧义。Linux kernel2.6.20开始为mount引入了一个 relatime 选项,并从 2.6.30 开始这一选项默认是开启的。
当开启了 relatime 选项后,只有当 atime<mtime 或 atime<ctime 时,才会去更新 atime. 默认情况下,内核高于2.6.30,直接查看文件内容,atime不会变化。

  • chmod chown
$ chmod 777 timestamp
$ stat timestamp
  File: `timestamp‘
  Size: 7           Blocks: 8          IO Block: 4096   regular file
Device: fc01h/64513d    Inode: 802838      Links: 1
Access: (0777/-rwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-05-18 16:50:53.000000000 +0800
Modify: 2019-05-18 16:51:58.000000000 +0800
Change: 2019-05-18 16:56:31.000000000 +0800

ctime变化

原文地址:https://blog.51cto.com/quietguoguo/2396718

时间: 2024-10-19 19:29:37

atime ctime mtime的影响的相关文章

Linux时间戳atime ctime mtime区别及相关命令

首先简单讲一下Linux时间戳atime ctime mtime的概念 atime:Access Time 最后一次访问文件(读取或执行)或目录的时间 mtime:Modofy Time 最后一次修改文件(内容)或目录(内容)的时间 ctime:Change Time 最后一次改变文件(属性)或目录(属性)的时间 atime ctime mtime的区别 atime access time(atime):是指取用文件的时间,所谓取用,常见的操作有:使用编辑器查看文件内容,使用cat命令显示文件内

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

linux下的-atime,-ctime,-mtime含义我们经常会在论坛或者群里面被问到,在linux或者unix下如何查看某文件的创建日期?经常又会有人说用find命令加选项-ctime,其实这里的-ctime并非是create time,而是change time.在linux或者unix这类操作系统,并没有为我们保存文件的创建日期. [@[email protected]] linux下的-atime,-ctime,-mtime含义我们经常会在论坛或者群里面被问到,在linux或者uni

find命令下的atime,ctime,mtime

Linux下的find命令在目录结构中搜索文件,并执行指定的操作.linux下的find命令提供了相当多的查找条件,功能很强大,由于find的功能很强大,所以他的选项也很多,今天我们来细说一下find命令下的三个时间参数atime,ctime,mtime. atime:access time,最近一次访问时间,当使用这个文件的时候就会更新这个时间. mtime:modify time,最近一次文件内容更改时间,当修改文件内容数据时,就会更改这个时间. ctime:change time,最近一次

linux atime ctime mtime

touch testtime 1. stat testtime[为文件名] 可以查看这个文件名的三者状态 2.ll testtime;ll --time=atime testtime ;ll --time=ctime testtime -rw-r--r--. 1 root root 0 Sep 23 19:28 testtime-rw-r--r--. 1 root root 0 Sep 23 19:28 testtime-rw-r--r--. 1 root root 0 Sep 23 19:28

Linux下find , atime, ctime,mtime

linux下的ctime指的是change time,atime指的是access time,mtime指的是modify time(意思是更改时间) mtime和ctime的区别在于,只有修改了文件的内容,才会更新文件的mtime,而对文件更名,修改文件的属性等操作,只会更新ctime. 举例说明: 对文件进行mv操作,mtime不变,ctime更新:编辑文件内容,mtime和ctime同时修改.其他操作的影响,但是我发现对文件执行touch操作,会同时修改mtime和ctime,所以具体修改

atime, ctime, mtime的区别

struct stat {        mode_t    st_mode;      /* file type & mode (permissions) */        ino_t     st_ino;       /* i-node number (serial number) */        dev_t     st_dev;       /* device number (file system) */        dev_t     st_rdev;      /* de

python os模块atime ,ctime,mtime意义

ython的os.stat中主要的时间信息有三个:st_mtime,st_atime,st_ctime. 1.st_mtime:time of last modification 最后一次修改时间,如果使用write函数写某个文件,会改变文件的这个时间 2.st_atime:time of last access 最后一次访问时间,如果使用read函数读某个文件,会改变文件的这个时间 3.st_ctime:time of last change 最后一次修改文件权限时间,如果使用chmod修改了

linux ctime/mtime/atime

linux使用ctime/mtime/atime 来标记文档时间, ctime: c不代表create而是change的意思,比如文件内容的修改权限的修改都会改变ctime mtime:  m是modify的意思,和ctime唯一的区别是权限的修改对其没有影响 atime:   a是文件访问的时间,比如你打开一个文件即使对起没有任何的修改也会对这个时间产生影响 为了方便学习专门写了一个脚本,主要功能就是显示文件的三种时间,你可以选择一个文件进行如下的操作, 看看文件的状态的变化,加深对文本时间的

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

我们知道 Linux里面一切皆文件 ,那么我们能否查看一个文件是何时创建的呢?答案是否定的.那我们可以知道些文件关于时间的什么信息呢?那就不得不说文件状态的三个时间了,它们分别是 -atime, -ctime 和 -mtime. 先让我们来看一个Linux下的文件信息: 我们可以从中看到,关于时间的信息有三个:最近访问时间 access time (-atime).最近更改时间 modify time (-mtime) 和 最近状态改动时间 change time(-ctime),当然我们也看到