首页 > 作文

[20210625]find

更新时间:2023-04-05 03:43:21 阅读: 评论:0

[20210626]find -mtime +n n -n时间问题补充.txt

–//昨天find -mtime的测试,为了更好的说明问题,做一个例子:
–//还有另外一个原因确定是否包括等于的情况.

–//后记:应该写成q cond , 不过不影响测试结果.就是升序第3个日期的时间部分表示当时时间(时分秒).

$ mkdir aaa
$ cd aaa

$ q -3 1 2 | xargs -iq date “+%y%m%d%h%m.%s” –date=’2 days ago q conds ago’ | xargs -iq touch -t q q ; find . -mtime +1 -exec ls -ltr {} \+; echo ====== ; ls -ltr
-rw-r–r– 1 oracle oinstall 0开展批评和自我批评 jun 23 15:53 ./202106231553.13
-rw-r–r– 1 oracle oinstall 0 jun 23 15:53 ./202106231553.14
======
total 0
-rw-r–r– 1 oracle oinstall 0 2021-06-23 15:53:13 202106231553.13
-rw-r–r– 1 oracle oinstall 0 2021-06-23 15:53:14 202106231553.14
-rw-r–r– 1 oracle oinstall 0 2021-06-23 15:53:15 202106231553.15
-rw-r–r– 1 oracle oinstall 0 2021-06-23 15:53:16 202106231553.16
-rw-r–r– 1 oracle oinstall 0 2021-06-23 15:53:17 202106231553.17
-rw-r–r– 1 oracle oinstall 0 2021-06-23 15:53:18 202106231553.18

–//看出分界点了吗?执行时的当前时间是2021-06-25 15:53:15.我测试多次find -mtime +1 都是显示2条,注意执行前删除前面测试的文件.
–//实际上比较准确的时间点是 小于 当前时间-2天.

$ rm -f 2021*
–//记住每次测试前执行它,后面不再提及

$ q -3 1 根与系数的关系2 | xargs -iq date “+%y%m%d%h%m.%s” –date=’2 days ago q conds ago’ | xargs -iq touch -t q q ; find . -mtime 1 -exec ls -ltr {} \+; echo ====== ; ls -ltr
–//注意执行的是find . -mtime 1
-rw-r–r– 1 oracle oinstall 0 jun 23 15:55 ./202106231555.52
-rw-r–r– 1 oracle oinstall 0 jun 23 15:55 ./202106231555.53
-rw-r–r– 1 oracle oinstall 0 jun 23 15:55 ./202106231555.54
-rw-r–r– 1 oracle oinstall肚子胀气是怎么解决 0 jun 23 15:55 ./202106231555.55
======
total 0
-rw-r–r– 1 oracle oinstall 0 2021-06-23 15:55:50 202106231555.50
-rw-r–r– 1 oracle oinstall 0 2021-06-23 15:55:51 202106231555.51
-rw-r–r– 1 oracle oinstall 0 2021-06-23 15:55:52 202106231555.52
-rw-r–r– 1 oracle oinstall 0 2021-06-23 15:55:53 202106231555.53
-rw-r–r– 1 oracle oinstall 0 2021-06-23 15:55:54 202106231555.54
-rw-r–r– 1 oracle oinstall 0 2021-06-23 15:55:55 202106231555.55

–//当前时间是2021-06-25 15:55:52,
–//find . -mtime 1 的查询时间范围的下边界是 大于等于 当前时间-2天.

$ q -3 1 2 | xargs -iq date “+%y%m%d%h%m.%s” –date=’1 days ago q conds ago’ | xargs -iq touch -t q q ; find . -mtime 1 -exec ls -ltr {} \+; echo ====== ; ls -ltr ; rm -f 202106*
-rw-r–r– 1 oracle oinstall 0 jun 24 16:12 ./202106241612.50
-rw-r–r– 1 oracle oinstall 0 jun 24 16:12 ./202106241612.51
======
total 0
-rw-r–r– 1 oracle oinstall 0 2021-06-24 16:12:50 202106241612.50
-rw-r–r– 1 oracle oinstall 0 2021-06-24 16:12:51 202106241612.51
-rw-r–r– 1 oracle oinstall 0 2021-06-24 16:12:52 202106241612.52
-rw-r–r– 1 oracle oinstall 0 2021-06-24 16:12:53 202106241612.53
-rw-r–r– 1 oracle oinstall 0 2021-06-24 16:12:54 202106241612.54
-rw-r–r– 1 oracle oinstall 0 2021-06-24 16:12:55 202106241612.55

–//当前时间是2021-06-25 16:12:52
–//find . -mtime 1 的查询时间范围的上边界是 小于 当前时间-1天.

$ q -3 1 2 | xargs -iq date “+%y%m%d%h%m.%s” –date=’1 days ago q conds ago’ | xargs -iq touch -t q q ; find . -mtime -1 -exec ls -ltr {} \+; echo ====== ; ls -ltr ; rm -f 202106*
-rw-r–r– 1 oracle oinstall 0 jun 24 16:19 ./202106241619.35
-rw-r–r– 1 oracle oinstall 0 jun 24 16:19 ./202106241619.36
-rw-r–r– 1 oracle oinstall 0 jun 24 16:19 ./202106241619.37
-rw-r–r– 1 oracle oinstall 0 jun 24 16:19 ./202106241619.38

.:
total 0
-rw-r–r– 1 oracle oinstall 0 jun 24 16:19 202106241619.33
-rw-r–r– 1 oracle oinstall 0 jun 24 16:19 202106241619.34
-rw-r–r– 1 oracle oinstall 0 jun 24 16:19 202106241619.35
-rw-r–r– 1 oracle oinstall 0 jun 24 16:19 202106241619.36
-rw-r–r– 1 oracle oinstall 0 jun 24 16:19 202106241619.37
-rw-r–r– 1 oracle oinstall 0 jun 24 16:19 202106241619.38
======
total 0
-rw-r–r– 1 oracle oinstall 0 2021-06-24 16:19:33 202106241619.33
-rw-r–r– 1 oracle oinstall 0 2021-06-国考和省考24 16:19:34 202106241619.34
-rw-r–r– 1 oracle oinstall 0 2021-06-24 16:19:35 202106241619.35
-rw-r–r– 1 oracle oinstall 0 2021-06-24 16:19:36 202106241619.36
-rw-r–r– 1 oracle oinstall 0 2021-06-24 16:19:37 202106241619.37
-rw-r–r– 1 oracle oinstall 0 2021-06-24 16:19:38 202106241619.38
–//感觉输出有点奇怪,实际存在一个目录.在作怪,因为. 在find . -mtime -1 的范围包括.目录,改写如下:

$ q -3 1 2 | xargs -iq date “+%y%m%d%h%m.%s” –date=’1 days ago q conds ago’ | xargs -iq touch -t q q ; find . -name “202106*” -mtime -1 -exec ls -ltr {} \+; echo ====== ; ls -ltr ; rm -f 202106*
-rw-r–r– 1 oracle oinstall 0 jun 24 16:22 ./202106241622.54
-rw-r–r&不离不弃的英文#8211; 1 oracle oinstall 0 jun 24 16:22 ./202106241622.55
-rw-r–r– 1 oracle oinstall 0 jun 24 16:22 ./202106241622.56
-rw-r–r– 1 oracle oinstall 0 jun 24 16:22 ./202106241622.57
======
total 0
-rw-r–r– 1 oracle oinstall 0 2021-06-24 16:22:52 202106241622.52
-rw-r–r– 1 oracle oinstall 0 2021-06-24 16:22:53 202106241622.53
-rw-r–r– 1 oracle oinstall 0 2021-06-24 16:22:54 202106241622.54
-rw-r–r– 1 oracle oinstall 0 2021-06-24 16:22:55 202106241622.55
-rw-r–r– 1 oracle oinstall 0 2021-06-24 16:22:56 202106241622.56
-rw-r–r– 1 oracle oinstall 0 2021-06-24 16:22:57 202106241622.57

–//当前时间是2021-06-25 16:22:54.
–//find . -mtime -1 的查询时间范围是 大于等于 当前时间-1天.

总结:
1.感觉测试在细节上浪费时间.
2.总之清楚一点,大致总结如下:
find -mtime +n 表示 小于 <当前时间-(n+1)天 .
find -mtime +1 表示 在 >=当前时间-(n+1)天 <当前时间-(n)天 之间.
find -mtime -1 表示 大于 >=当前时间-(n)天.

–//我敢打赌许多人在这个问题的理解上都是错误的.

本文发布于:2023-04-05 03:43:20,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/7219865364e42c914d0f10b9c8fe5ae8.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:[20210625]find.doc

本文 PDF 下载地址:[20210625]find.pdf

标签:时间   测试   都是   边界
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图