[实践成功]Linux:find 按文件修改时间查找文件,find空文件夹命令。

jackxiang 2011-1-6 11:48 | |
如何把find的文件按时间排序?从最早到现在
如果你的文件数量不大
可以用ls -rt $(find . -type f) 来实现
find /path|xargs ls -lt


Demo:
常用两天前修改过的文件:


======
1)3天内修改过的文件:

2)find命令使用超过6天,空文件独立查询命令。


3)查找超过6天且是空文件的find命令:



一个同学问我在linux怎样按修改时间来查找文件,我Google之后才得到答案,写个笔记吧。
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)

参考资料:
http://shawonline.blog.51cto.com/304978/199674

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/3925/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2013-10-24 20:06
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]