查看: 464|回复: 0

[教程] find 按文件修改时间查找文件及find空文件夹

[复制链接]

10

主题

0

回帖

30

积分

技术1级

金币
20
阅读权限
10
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-1-5
QQ
发表于 2011-7-23 23:46:28 | 显示全部楼层 |阅读模式
查找两天前修改过的文件:
find . -type f -mtime -2
查找3天内修改过的文件:
find -ctime -3
find命令使用超过6天,空文件独立查询命令:
find /data/backup -ctime +6 -exec rm -f {} \;   删除/data/backup目录下修改时间超过6天的文件。  
find /data/backup -type d -empty -exec rmdir {} \; >/dev/null 2>&1  删除/data/backup目录下空的文件夹,同时输出正确和错误信息到空。
查找超过6天且是空文件的find命令:
find ./ -type d -empty -ctime +6
按修改时间来查找文件,要用到选项-mtime:
find /home/admin -mtime -1      #查找/home/admin目录下修改时间在1天之内的文件
find /home/admin -name *.txt -mtime -1  #查找/home/admin目录下修改时间在1天之内的文件名为.txt结尾的文件
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)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部