您的位置:首页 > 运维架构 > Linux

Linux:find 按文件修改时间查找文件

2012-08-17 17:42 369 查看
find 按文件修改时间查找文件

---(+n)----------|----------(n)----------|----------(-n)---
(n+1)*24H前|   (n+1)*24H~n*24H间   |n*24H内


-ctime -n 查找距现在 n*24H 内修改过的文件

-ctime n 查找距现在 n*24H 前, (n+1)*24H 内修改过的文件

-ctime +n 查找距现在 (n+1)*24H 前修改过的文件

[a|c|m]min [最后访问|最后状态修改|最后内容修改]min

[a|c|m]time [最后访问|最后状态修改|最后内容修改]time

linux 文件的三种时间(以 find 为例):

atime 最后一次访问时间, 如 ls, more 等, 但 chmod, chown, ls, stat 等不会修改些时间, 使用 ls -utl 可以按此时间顺序查看;

ctime 最后一次状态修改时间, 如 chmod, chown 等状态时间改变但修改时间不会改变, 使用 stat file 可以查看;

mtime 最后一次内容修改时间, 如 vi 保存后等, 修改时间发生改变的话, atime 和 ctime 也相应跟着发生改变.

注意: linux 里是不会记录文件的创建时间的, 除非这个文件自创建以来没有发生改变, 那么它的创建时间就是它的最后一次修改时间.

#ls -lt /home/admin # 按修改时间顺序查看

#ls -lut /home/admin # 按访问时间顺序查看

(如果想反序查看的话需要加一个选项 -r)

==========

find 命令有几个用于根据您系统的时间戳搜索文件的选项。这些时间戳包括

mtime		文件内容上次修改时间
atime		文件被读取或访问的时间
ctime		文件状态变化时间

mtime 和 atime 的含义都是很容易理解的,而 ctime 则需要更多的解释。由于 inode 维护着每个文件上的元数据,因此,如果与文件有关的元数据发生变化,则 inode 数据也将变化。这可能是由一系列操作引起的,包括创建到文件的符号链接、更改文件权限或移动了文件等。由于在这些情况下,文件内容不会被读取或修改,因此 mtime 和 atime 不会改变,但 ctime 将发生变化。
这些时间选项都需要与一个值 n 结合使用,指定为 -n、n 或 +n。

N * 24
+1	表示	1 * 24 +24小时以外..
+0	表示	0 * 24 +24小时以外
1	表示	1 * 24 + 24 到 24 之间..
0	表示	0 * 24 + 24 到 0 之间..
-1	表示	0 * 24 +24 内,甚至为未来时间...

1.当前时间24小时—当前时间(昨天-今天)

#find . -mtime 0

2.当前时间48小时前–当前时间24小时前(前天-昨天)

#find . -mtime 1

3.当前时间48小时前(2天前)

#find . -mtime +1

4.当前时间24小时–当前时间(昨天-今天)

#find . -mtime -1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: