Linux文件与目录的三种时间状态(mtime,atime,ctime)区别

1.mtime(modify time):最后一次修改文件或目录的时间

2.ctime(change time) :最后一次改变文件或目录(改变的是原数据即:属性)的时间

如:记录该文件的inode节点被修改的时间。touch命令除了-d和-t选项外都会改变该时间。而且chmod,chown等命令也能改变该值。

3.atime(access time)::最后一次访问文件或目录的时间

对于文件:

当修改mtime时,ctime必须随着改变.因为文件大小等都是属性;

有人说说atime也一定会改变,要想修改文件必须先访问;其实是不对的,不必访问文件就能修改其内容:

如:#echo “This is a test !” >> /etc/issue,

issue文件内容会变,但并没有访问文件,所以atime并没有改变.

对于目录:

访问一个目录其atime改变,mtime,ctime不变;

修改一个目录:在一个目录下touch一个文件,mtime与ctime会改变,atime不一定会变;

如:[root@station16 ~]# stat /tmp

file: `/tmp'

size: 135168Blocks: 280IO Block: 4096directory

fevice: fd00h/64768dInode: 2555905Links: 8

access: (1777/drwxrwxrwt)Uid: (0/root)Gid: (0/root)

access: 2010-07-09 09:15:59.000000000 +0800

modify: 2010-07-09 09:15:57.000000000 +0800

change: 2010-07-09 09:15:57.000000000 +0800

[root@station16 ~]# cd /tmp

[root@station16 tmp]# touch text.txt

[root@station16 tmp]# cd

[root@station16 ~]# !s

stat /tmp

file: `/tmp'

size: 135168Blocks: 280IO Block: 4096directory

device: fd00h/64768dInode: 2555905Links: 8

access: (1777/drwxrwxrwt)Uid: (0/root)Gid: (0/root)

access: 2010-07-09 09:15:59.000000000 +0800

modify: 2010-07-09 09:31:39.000000000 +0800

change: 2010-07-09 09:31:39.000000000 +0800

[root@station16 ~]#

atime改变,mtime,ctime不变情况:

[root@station16 ~]# stat /tmp

File: `/tmp'

Size: 135168Blocks: 280IO Block: 4096directory

device: fd00h/64768dInode: 2555905Links: 8

access: (1777/drwxrwxrwt)Uid: (0/root)Gid: (0/root)

access: 2010-07-09 09:15:59.000000000 +0800

modify: 2010-07-09 09:31:39.000000000 +0800

change: 2010-07-09 09:31:39.000000000 +0800

[root@station16 ~]# cd /tmp

[root@station16 tmp]# ls

aatexttext.txt

[root@station16 tmp]# cd

[root@station16 ~]# !s

stat /tmp

file: `/tmp'

size: 135168Blocks: 280IO Block: 4096directory

device: fd00h/64768dInode: 2555905Links: 8

access: (1777/drwxrwxrwt)Uid: (0/root)Gid: (0/root)

access: 2010-07-09 09:35:49.000000000 +0800

modify: 2010-07-09 09:31:39.000000000 +0800

change: 2010-07-09 09:31:39.000000000 +0800

[root@station16 ~]#

使用stat命令可以查看三时间值:如stat filename

也可使用:

ls -l file :查看文件修改时间ls -lc file:查看文件状态改动时间ls -lu file:查看文件访问时间

touch命令更改文件时间属性的介绍

touch命令 选项[options]的时间格式[[CC]YY]MMDDhhmm[.ss]说明:

CC表示世纪

YY表示年MM表示月DD表示日hh表示小时mm表示分钟ss表示秒201001311200.34CCYYMMDDhhmm ss表示时间为2010年1月31日12点0分34秒

options :

-t: 后面可接时间,其格式如上所述

-a:仅修改access time

-c:仅修改ctime时间,而不建立文件

-m:仅修改mtime

例如:将issue文件日期改为2008/07/1513:13

[root@station16 ~]# ls -l /etc/issue

-rw-r–r– 1 root root 80 Jul8 09:03 /etc/issue

[root@station16 ~]# touch -t 0807151313 /etc/issue

[root@station16 ~]# !l

ls -l /etc/issue

-rw-r–r– 1 root root 80 Jul 152008 /etc/issue

[root@station16 ~]# stat /etc/issue

File: `/etc/issue'

Size: 80Blocks: 16IO Block: 4096regular file

Device: fd00h/64768dInode: 3014852Links: 1

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

Access: 2008-07-15 13:13:00.000000000 +0800

Modify: 2008-07-15 13:13:00.000000000 +0800

Change: 2010-07-09 09:51:46.000000000 +0800

注意到,我们改变了issue的mtime与atime,并没有改变ctime,此时的ctime记录的是当前时间。

发表回复

相关推荐

儿童肠道健康功能“金指标”——解连蛋白和钙卫蛋白

上一篇文章我们介绍了人体肠道的4大功能,一副健康的肠道“功能齐全”,小朋友的身体机能、情绪、专注力都会有很大的改善。如 ...

· 49秒前

东莞市各镇街面积人口经济一览表

东莞是全国5个不设县、区的地级市之一,所以它也没有县级一说

· 2分钟前

怎么编制施工组织设计?

在工程项目招投标中,施工组织设计是投标文件的重要组成部分,施工组织设计方案的优劣直接影响企业是否能够中标。那么怎么编 ...

· 3分钟前

LPDDR5到底是啥东西?

看起来很厉害的样子,那LPDDR 5到底是什么呢?

· 4分钟前

糖的17個危害 | 糖的“毒性”,堪比吸煙!

糖和毒品一樣,容易讓人上癮。當我們狂吃含糖食物時,口中的甜味受體會變得麻木或遲鈍,日積月累導致他們對甜食不再敏感,於...

· 4分钟前