/bin/rm: argument list too long

1,466 阅读1分钟

有人在服务器上不小心执行了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 &