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