一、atime、ctime与mtime解释
文件的时间三属性分别为access time,modify time和change time,使用“stat file”命令可以查看。
[root@zls ~]# stat /etc/issue
File: `/etc/issue’
Size: 47 Blocks: 8 IO Block: 4096 regular file
Device: ca01h/51713d Inode: 1384931 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2016-02-18 13:00:23.000000000 +0800
Modify: 2013-12-01 08:07:02.000000000 +0800
Change: 2016-01-25 16:45:57.000000000 +0800
atime的意思是access time:
即文件被读取或者执行的时间,修改文件是不会改变access time的。网上很多资料都声称cat、more等读取文件的命令会改变atime,但是我试验时却发现使用cat、more时atime没有被修改。这个问题需要另外做研究探讨。
mtime的意思为modify time:
即文件数据最新的修改时间,指的就是文件内容的最新修改时间。只要修改了文件内容,modify time就会改变,同时change time也会发生改变
ctime的意思是change time:
文件状态最新改变的时间,指修改文件的基本属性,权限,用户,组,大小,修改时间等。只要是修改ls -l 里面的任何信息,那么ctime都会发生变化,例如通过chmod修改文件属性,ctime就会被修改。
使用touch可以改变这三个时间。关于使用touch改变atime、ctime、mtime的方法,此处不做介绍。
二、find 中的参数n含义
+n、-n、n分别表示:
+n: 大于n
-n: 小于n
n:等于n
例如命令 “ find . –mtime n”中的n指的是24*n,
具体的用法:
find . –mtime n:
最后一次修改发生在距离当前时间n*24小时至(n+1)*24 小时
find . –mtime +n:
最后一次修改发生在n+1天以前,距离当前时间为(n+1)*24小时或者更早
find . –mtime –n:
最后一次修改发生在n天以内,距离当前时间为n*24小时以内