美文网首页我爱编程程序员Linux
Linux中的 atime mtime ctime

Linux中的 atime mtime ctime

作者: 学习编程王同学 | 来源:发表于2018-06-12 12:27 被阅读3次

查看一个文件的i节点内容:

$ stat a.txt
  File: 'a.txt'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769d    Inode: 1710819     Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1001/     tom)   Gid: ( 1001/     tom)
Access: 2018-05-31 16:42:13.792121737 +0800
Modify: 2018-05-31 16:42:13.792121737 +0800
Change: 2018-05-31 16:42:13.792121737 +0800
 Birth: -

这里关注其中的三行:

Access: 2018-05-31 16:42:13.792121737 +0800
Modify: 2018-05-31 16:42:13.792121737 +0800
Change: 2018-05-31 16:42:13.792121737 +0800

这是三个时间,这三个时间的标签分别是Access(也叫做atime)、Modify(也叫做mtime)和Change(也叫做ctime)。那么这三个时间分别代表什么意义呢?

  • atime:访问时间。表示文件最后被访问的时间。
  • mtime:修改时间。表示文件内容最后被修改的时间。
  • ctime:更改时间:表示文件最后被改变的时间,包括文件状态(比如权限、所有者等)和文件内容的改变。

下面是一个例子。

首先,创建一个文件并查看其i节点内容:

$ touch now.txt
$ stat now.txt
  File: 'now.txt'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769d    Inode: 1710866     Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1001/     tom)   Gid: ( 1001/     tom)
Access: 2018-06-12 12:15:15.971914864 +0800
Modify: 2018-06-12 12:15:15.971914864 +0800
Change: 2018-06-12 12:15:15.971914864 +0800
 Birth: -

可以看到,这三个时间在文件创建的时候是相同的。

接下来,使用cat显示文件内容(现在文件内容是空的),并查看i节点内容:

$ cat now.txt
$ stat now.txt
  File: 'now.txt'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769d    Inode: 1710866     Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1001/     tom)   Gid: ( 1001/     tom)
Access: 2018-06-12 12:17:33.223919004 +0800
Modify: 2018-06-12 12:15:15.971914864 +0800
Change: 2018-06-12 12:15:15.971914864 +0800
 Birth: -

在显示文件(文件被访问)之后,仅有atime更新。

给文件添加内容并查看i节点内容:

$ echo "Hello, World!" > now.txt
$ stat now.txt
  File: 'now.txt'
  Size: 14              Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d    Inode: 1710866     Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1001/     tom)   Gid: ( 1001/     tom)
Access: 2018-06-12 12:17:33.223919004 +0800
Modify: 2018-06-12 12:18:57.627921500 +0800
Change: 2018-06-12 12:18:57.627921500 +0800
 Birth: -

mtime和ctime得到了更新,因为文件的内容变化了。如果使用vim等编辑器更改文件内容,atime也会得到更新。

最后,修改文件权限看看:

$ chmod a+x now.txt
$ stat now.txt
  File: 'now.txt'
  Size: 14              Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d    Inode: 1710866     Links: 1
Access: (0775/-rwxrwxr-x)  Uid: ( 1001/     tom)   Gid: ( 1001/     tom)
Access: 2018-06-12 12:17:33.223919004 +0800
Modify: 2018-06-12 12:18:57.627921500 +0800
Change: 2018-06-12 12:21:11.595925387 +0800
 Birth: -

仅有ctime得到了更新。

相关文章

  • Linux ctime atime mtime

    atime: 当“”该文件的内容被取用“”时,就会更新这个读取时间。 ctime: 当该文件的“”状态“”改变时,...

  • Linux中的 atime mtime ctime

    查看一个文件的i节点内容: 这里关注其中的三行: 这是三个时间,这三个时间的标签分别是Access(也叫做atim...

  • Linux下文件的三个时间戳:atime,mtime,ctime

    在linux系统下每个文件都有三个时间戳,分别为atime,mtime,ctime,具体解释如下: atime(a...

  • 文件的隐藏属性

    Linux系统中文件除了显而易见的几个属性(权限(rwx),时间(mtime,ctime,atime))还有一些隐...

  • Linux命令

    atime mtime ctime 分别为access time,modify time,change time ...

  • atime, mtime, ctime 的概念

    atime Access Time,文件读取访问时间以下功能执行时将会被更新:creat, mknod, pipe...

  • Linux文件时间之atime、mtime、ctime

    Linux文件有三种时间,访问时间(access time)、修改时间(modify time)、变更时间(cha...

  • Linux find命令atime/mtime/ctime参数

    通过touch命令创建五个日志文件,在Linux系统中,一个文件有三个时间参数,分别是atime,mtime,ct...

  • touch更改文件时间戳

    概述 Unix文件系统中的文件或文件夹有三个时间戳,分别为atime、ctime和mtime。 atime表示最后...

  • 笔记6 文件查找

    atime 访问时间mtime 修改时间ctime 创建时间,改变时间dtime 删除时间 grep 文件过...

网友评论

    本文标题:Linux中的 atime mtime ctime

    本文链接:https://www.haomeiwen.com/subject/zzpleftx.html