test

1. 时间参数 mtime atime ctime mmin cmin amin etc..
指定这几个项后面的数值,可以为三种情况:a) 正号 b) 负号 c)不带符号。

负值是less than,正值是greater than;但是带+于不带,却有些微妙的差异。

+,会把不足一个时间单位的时间取下整,再与条件值比较。


例如, 一个文件mtime为1day12hour ago,则符合 -mtime 1,但不符合 -mtime +1。

1day12hour ,即1.5天,取上整为1day,因此不符合-mtime +1。


下面的这条语句,前者保留最近2天的日志,后者则是一天之内的。

[code="bash"]find /path -type f -name "*.log" -mtime +1 -exec rm {} \;
find /path -type f -name "*.log" -mtime 1 -exec rm {} \; 


2. 路径限制 maxdepth mindepth
一日领命清理文件缓存,清理掉1周天前的缓存目录。(该缓存使用了3层目录散列结构,缓存目录下的第三层目录才是要清理的目录)

随手写了这么一句:

[code="bash"]find /path -type d -mtime 7 -exec rm -rf {} \; 


结果,as u see,整个path目录都被rm了……于是被痛批。

合理的应为


[code="bash"]find /path -maxdepth 3 -mindepth 3 -type d -mtime 7 -exec rm -rf {} \; 


你可能感兴趣的:(C++,c,F#,C#,bash)