find 时间语法

来源:互联网 发布:小学生网络教育 编辑:程序博客网 时间:2024/06/10 03:35

find 按文件修改时间查找文件 收藏
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    ./  按修改时间顺序查看
#ls -lut ./ 按访问时间顺序查看
(如果想反序查看的话需要加一个选项 -r)


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hjue/archive/2010/04/21/5510502.aspx

 

查询时间段

请问,使用find 命令查找某个时间段的shell怎么写。比如11点到12

创建一个脚本judgetime,内容如下:

ls -l $*|awk '{split($8,hour,":");if((hour[1]>23 || hour[1] < 1)&&hour[1]<24)print}'

为什么split函数返回的数组hour不能用printf("%s",hour)这样的形式打印出来,只能printf("%d",hour[1]),printf("%d",hour[2])这样来打印。

请高手请教返回的数组是什么类型的!

 

http://bbs.chinaunix.net/thread-15821-2-1.html

 

【JJ注释】如何查询多少天之前--手指脚丫子数, 当然不成。 用些函数-os层面的不知道,用的是oracle的sysdate算的。