Linux下如何一条命令删除上万个文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下如何一条命令删除上万个文件?相关的知识,希望对你有一定的参考价值。

参考技术A

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 " 这种文件名,多的不说了,不知你能否看明白。

Linux find命令根据时间筛选出文件进行删除

需求:删除 /home/file/ 目录下10天之前生成的txt类型的文件


find /home/file/  -ctime +10 -name "*.txt" -print | xargs rm -f

或者

find /home/file/  -ctime +10 -name "*.txt" -delete

经过测试在文件比较多的情况下 第二条命令比第一条速度更快。

//时间条件

-amin n: 查找n分钟以前被访问过的所有文件。

 -atime n: 查找n天以前被访问过的所有文件。

 -cmin n: 查找n分钟以前文件状态被修改过的所有文件。

 -ctime n: 查找n天以前文件状态被修改过的所有文件。

 -mmin n: 查找n分钟以前文件内容被修改过的所有文件。

 -mtime n: 查找n天以前文件内容被修改过的所有文件。

以上是关于Linux下如何一条命令删除上万个文件?的主要内容,如果未能解决你的问题,请参考以下文章

linux命令下,删除历史命令,例如history -c。最后查记录会有history -c这条命令,该如何删除最后一条命令

linux命令下,删除历史命令,例如history -c。最后查记录会有history -c这条命令,该如何删除最后一条命令

Linux下如何使用find命令

linux下如何删除文件夹

Linux下 利用find命令删除所有.svn目录

linux find 命令详解