linux 下 atime mtime ctime

回复 收藏
我平时通常同find命令找一些文件时会用到这些参数。那么这三个参数到底有啥区别呢。

文件的 Access time,atime 是在读取文件或者执行文件时更改的。
文件的 Modified time,mtime 是在写入文件时随文件内容的更改而更改的。
文件的 Change time,ctime 是在写入文件、更改所有者、权限或链接设置时随 Inode 的内容更改而更改的。
因此,更改文件的内容即会更改 mtime 和 ctime,但是文件的 ctime 可能会在 mtime 未发生任何变化时更改,如权限更改了但文件内容没有更改。

如何获得一个文件的atime mtime 以及ctime?
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 也就跟著要改了(理论上是这样的,但是真实情况并非如此,如果是读取文档或者执行二进制文件的时候,虽然atime会变,但ctime不变,这是系统这样设计的).
2011-04-20 10:28 举报
已邀请:
0

hangtiangazi

赞同来自:

铭哥,学习了。。。利用ls命令还可以查看三个时间。
0

xiaotuanyu120

赞同来自:

hangtiangazi 发表于 2015-3-21 12:03
铭哥,学习了。。。利用ls命令还可以查看三个时间。

也可以使用stat
0

小旭

赞同来自:

已学习!
0

cdhelloworld

赞同来自:

若 mtime, atime 修改, inode 就一定會改, 既然 inode 改了, 那 ctime 也就跟著要改了(理论上是这样的,但是真实情况并非如此,如果是读取文档或者执行二进制文件的时候,虽然atime会变,但ctime不变,这是系统这样设计的).
0

奋斗的种子

赞同来自:

看懂了,啊哈哈
0

xtboris

赞同来自:

1
0

wy1028

赞同来自:

1
0

fulilu

赞同来自:

学习
0

mind_sky

赞同来自:

恩  很好  之前就知道stat看文件三个time  这回ls -lc   ls -la 都可以  了解了
0

xiaocheng

赞同来自:

1
0

西瓜糖

赞同来自:

这个比较好理解。现在正在复习巩固中。感谢明哥!
0

曹启昂

赞同来自:

0

xebszw

赞同来自:

为什么stat命令不会修改任何时间呢?

[root@honor ~]# stat robin

 File: "robin"

  Size: 0          Blocks: 0          IO Block: 4096   普通空文件

Device: fd00h/64768d    Inode: 924514      Links: 1

Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2016-10-15 17:00:17.692187307 +0800

Modify: 2016-01-01 00:16:00.000000000 +0800

Change: 2016-10-15 17:00:17.692187307 +0800

[root@honor ~]# stat robin

  File: "robin"

  Size: 0           Blocks: 0          IO Block: 4096   普通空文件

Device: fd00h/64768d    Inode: 924514      Links: 1

Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2016-10-15 17:00:17.692187307 +0800

Modify: 2016-01-01 00:16:00.000000000 +0800

Change: 2016-10-15 17:00:17.692187307 +0800

0

blackwang

赞同来自:

使用touch修改mtime时不会改变ctime

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: