前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux中的 atime mtime ctime

Linux中的 atime mtime ctime

作者头像
mwangblog
发布2018-07-04 11:22:03
8680
发布2018-07-04 11:22:03
举报
文章被收录于专栏:mwangblog

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

代码语言:javascript
复制
$ 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: -

这里关注其中的三行:

代码语言:javascript
复制
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节点内容:

代码语言:javascript
复制
$ 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节点内容:

代码语言:javascript
复制
$ 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节点内容:

代码语言:javascript
复制
$ 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也会得到更新。

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

代码语言:javascript
复制
$ 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得到了更新。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-06-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 mwangblog 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 查看一个文件的i节点内容:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档