linux下find命令-atime,-ctime,-mtime真正含义

文章参考 http://blog.itpub.net/26675752/viewspace-1058878/

一、概念说明

atime的意思是access time,即文件的最近的一次访问时间,+n意思为查找n天以前的文件,-n为查找n天以内的文件

mtime比较好理解,为modify time,即文件数据最新的修改时间,指的就是文件内容的最新修改时间。

ctime的意思是change time,文件状态最新改变的时间。是文件的status change time,何为文件的status呢?

我们都知道文件有一些个基本的属性,权限,用户,组,大小,修改时间等,只要是这些信息变化了,那么ctime都会发生变化,

所以上面修改文件内容时为何ctime会变化,因为其mtime已经变化了,mtime也是文件状态的一个。

二、例子

#文件原始属性
[root@auc-test2 eccs]# stat eccs.log.20
  File: "eccs.log.20"
  Size: 10485916        Blocks: 20488      IO Block: 4096   普通文件
Device: fd02h/64770d    Inode: 1834242     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2014-12-17 02:43:15.901076752 +0800
Modify: 2014-12-17 02:43:15.914076752 +0800
Change: 2014-12-18 13:59:22.242796455 +0800

#修改访问时间属性(atime)
[root@auc-test2 eccs]# head -n 1 eccs.log.20
2014-12-17T00:51:53+08:00 [INFO] AstL
[root@auc-test2 eccs]# stat eccs.log.20
  File: "eccs.log.20"
  Size: 10485916        Blocks: 20488      IO Block: 4096   普通文件
Device: fd02h/64770d    Inode: 1834242     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2014-12-18 14:01:11.791796442 +0800
Modify: 2014-12-17 02:43:15.914076752 +0800
Change: 2014-12-18 13:59:22.242796455 +0800

#修改文件状态时间属性(ctime)
[root@auc-test2 eccs]# chmod 777 eccs.log.20
[root@auc-test2 eccs]# stat eccs.log.20
  File: "eccs.log.20"
  Size: 10485916        Blocks: 20488      IO Block: 4096   普通文件
Device: fd02h/64770d    Inode: 1834242     Links: 1
Access: (0777/-rwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2014-12-18 14:01:11.791796442 +0800
Modify: 2014-12-17 02:43:15.914076752 +0800
Change: 2014-12-18 14:01:35.286796424 +0800

#修改文件内容时间属性(mtime)
[root@auc-test2 eccs]# echo "huangbiao" >> eccs.log.20
[root@auc-test2 eccs]# stat eccs.log.20
  File: "eccs.log.20"
  Size: 10485926        Blocks: 20488      IO Block: 4096   普通文件
Device: fd02h/64770d    Inode: 1834242     Links: 1
Access: (0777/-rwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2014-12-18 14:01:11.791796442 +0800
Modify: 2014-12-18 14:02:16.853796414 +0800
Change: 2014-12-18 14:02:16.853796414 +0800

 三、显示说明

1、ls 命令显示的是 mtime时间

[root@auc-test2 eccs]# stat eccs.log.20
  File: "eccs.log.20"
  Size: 10485926        Blocks: 20488      IO Block: 4096   普通文件
Device: fd02h/64770d    Inode: 1834242     Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2014-12-18 14:01:11.791796442 +0800
Modify: 2014-12-18 14:02:16.853796414 +0800
Change: 2014-12-18 14:08:10.946796334 +0800
[root@auc-test2 eccs]# ll eccs.log.20
-rwxr-xr-x 1 root root 10485926 12月 18 14:02 eccs.log.20

2、sshd 连接显示的是mtime时间

linux下find命令-atime,-ctime,-mtime真正含义

四、根据制定日期删除文件的脚本

 附件del_file_before_that_day.rar 使用方法

[root@auc-test2 log]# ./del_file_before_that_day.sh 2014-12-17
where do the files store?
/abc/efg/

相关推荐