【Linux】使用find命令清理指定时间之前的文件

【Linux】使用find命令清理指定时间之前的文件,第1张

说明:

find 后面紧跟的 /root/logs 是要查找的目录,. 表示当前目录

-type f :指定查找对象为文件

-name "*" :指定查找对象名称为任意

-mtime +7 :查找7天以前的老文件

-exec rm -f {} \:执行删除命令,后面有个 {} \ 是必须的

find / -name *.log | xargs -n 1000 rm -f

因为rm 接收参数的数量是有限的, 所以每次传 1000个参数给他,这样可以满足你的需求。

补充一点,这种写法其实不是特别严谨,因为如果日志文件的命名有特殊字符的话,上面命令将会对特殊字符文件识别不了。

严谨的写法。

find / -name '*.log' -print0 |xargs  -0 -n 1000 rm -f

这里前面的print0 和 后的-0 都是对特殊字符进行处理,也就是说他会认识如"aa  bb  cc " 这种文件名,多的不说了,不知你能否看明白。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7992550.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存