
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 " 这种文件名,多的不说了,不知你能否看明白。
(拷贝了/var/log/* 到当前目录做测试,当前目录是新建的空目录)查找并删除当前目录空文件
find . -size 0k
find . -size 0k -exec rm {} \
查找并删除 小于500K的文件 小于是- 大于是+
find . -size -500k
find . -size -500k -exec rm {} \
从根目录开始,查找文件名包含mess 以bak结尾的文件并删除,
(拷贝了几份/var/log/messages并改名测试)
find / -name *mess*bak
find / -name *mess*bak -exec rm {} \
!!做进一步 *** 作前,记得先find 一下,确认想要做进一步动作的文件在这里面,不包含不想做变更的文件。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)