linux atime ctime mtime

时间:2023-03-09 20:31:52
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 testtime

3、vi 一下,里面写入内容

ll testtime;ll --time=atime testtime ;ll --time=ctime testtime

-rw-r--r--. 1 root root 6 Sep 23 19:29 testtime
-rw-r--r--. 1 root root 6 Sep 23 19:29 testtime
-rw-r--r--. 1 root root 6 Sep 23 19:29 testtime 【改变内容,导致三者均改变】

4、date一下,嗯, 时间有改变。

然后 chmod 777 testtime

ll testtime;ll --time=atime testtime ;ll --time=ctime testtime

-rwxrwxrwx. 1 root root 6 Sep 23 19:29 testtime
-rwxrwxrwx. 1 root root 6 Sep 23 19:29 testtime
-rwxrwxrwx. 1 root root 6 Sep 23 19:31 testtime  【改变权限导致ctime 有改变】

5、有vi了一下,改变了内容

-rwxrwxrwx. 1 root root 13 Sep 23 19:33 testtime
-rwxrwxrwx. 1 root root 13 Sep 23 19:33 testtime
-rwxrwxrwx. 1 root root 13 Sep 23 19:33 testtime 【三者所有都有改变】

6、cat testtime 查看一下里面的你内容

ll testtime;ll --time=atime testtime ;ll --time=ctime testtime

-rwxrwxrwx. 1 root root 13 Sep 23 19:33 testtime
-rwxrwxrwx. 1 root root 13 Sep 23 19:34 testtime【只有atime 改变】
-rwxrwxrwx. 1 root root 13 Sep 23 19:33 testtime

--------------------------------------------

总结:

mtime (modification time ):在写入文件时随文件内容的更改而更改的时间。我们用ls -l看到的时间,就是mtime

ctime (status time):是在写入文件、更改所有者、权限或链接设置时随Inode的内容更改而更改的时间。相当于ls -l –time=ctime所看到的时间 【改变权限这个时间有改变】

atime (access time):读取文件或者执行文件时更改的时间。也就是用ls -l –time=atime看到的时间 【cat 查看文件,这个时间有改变】

【改变文件内容】三者都有改变

例子二:
一、

ll /etc/issue;ll --time=atime /etc/issue ;ll --time=ctime /etc/issue

-rw-r--r--. 1 root root 47 Nov 27  2013 /etc/issue
-rw-r--r--. 1 root root 47 Sep 18 19:07 /etc/issue
-rw-r--r--. 1 root root 47 Jun 25 04:26 /etc/issue

二、修改一下时间

touch -t 0807151313 /etc/issue 【将issue文件日期改为2008/07/15 13:13】

三、查看

ll /etc/issue;ll --time=atime /etc/issue ;ll --time=ctime /etc/issue

-rw-r--r--. 1 root root 47 Jul 15  2008 /etc/issue
-rw-r--r--. 1 root root 47 Jul 15  2008 /etc/issue 【atime 和mtime 改变了,ctime也有改变】
-rw-r--r--. 1 root root 47 Sep 23 19:46 /etc/issue【ctime改变成了当前的时间】

---------------------------

例四:

(1)关于ls命令

ls -l    默认查看时间为mtime

ls -lc  查看文件ctime

ls -lu  查看文件atime

比如下载了一个rpm文件

ls -l    mtime  为rpm包创建时间

ls -lc    ctime 为rpm包下载时间

ls -lu    atime 为rpm包访问时间

(2)、关于touch命令

-a 修改文件的access time,同时会修改ctime为当前时间,-a默认修改文件访问时间为当前时间,设置其他时间须与-t或-d等参数一起使用。

-m 修改文件的modification time,同时会修改ctime为当前时间,使用方法同-a。

修改ctime为特定时间的方法:先修改系统时间为想设置的ctime时间,然后touch -a 或者touch -m修改,ctime随着更改为当前系统时间。

(3)、其他

vi 编辑后保存会同时修改掉这三个时间

(4)chgrp、chown、chmod等命令会改变ctime,但atime、mtime不变。