find命令
1、find顾名思义查找,但是linux还可以找到目标后继续一些操作,例如删除。
find path -option [-print] [-exec -ok command] {} \
解释:
path 搜索路径
-oprint 标准输出所匹配的文件
-exec 执行后面的命令
-ok 执行带提示,例如删除时,会提示你。
command {} \ 注意{}和\之间有空格。
2、看几个例子
1)查根目录下,文件名.tar结尾的文件,然后进行删除
find / -type f -name *.tar -exec rm -rf {} \
2)根据时间删除,例如删除目录里7天前文件
find / -type f -mtime +6 |xargs rm -rf {} \
解释 +0 代表24小时之前
0 代表24~48小时之间
-0 代表24小时之内
xargs代替exec,原因就是exec会一次性接受find匹配到所有的结果,会溢出,报错:参数列溢出;而xargs的思想是分步加载,每次只处理一部分,然后在加载一部分。
遇到的坑:(1)卡时间时,有系统0开始,有的是1,这个需要根据实际情况测
(2)按时间删除几天前的目录,如果当前的空目录,时间上也是合适的,则也会删除
参考:https://blog.csdn.net/dearbaba_8520/article/details/80534516