/bin/rm: argument list too long

有人在服务器上不小心执行了rm -fr /*,而我想在删除某个文件夹下面的文件却遇到/bin/rm: argument list too long

意思是我删除的文件太多了,这倒有点稀奇。

那怎么才能删除呢?

试着直接删除目录也不行,这问题能难倒我,但难不倒百度。

使用ls | xargs -n 1000 rm -fr ls删除,可是一直在输出错误提示:


rm: invalid option -- 's'

Try 'rm --help' for more information.

出现这个情况的原因是文件名是这种类型:-abc.txt。就是前面带了-

删除方式是:


rm -- -foo

或

rm ./-foo

只看见报错,到底有没有在删文件?想要知道,那么把删除命令改成这样

ls | xargs -n 1000 rm -frv ls

rm命令加个参数v,用来显示删除信息。

最终会输出这样的提示信息,

removed ‘zMJ1MgKdzgbjNsWawUcX7OO3WspyxZEU.json’

为了让它在后台执行可以这样:

ls | xargs -n 1000 rm -frv ls &

原文:https://www.yuedun.wang/blogdetail/60459dcf8e743369d9dd5a8f