有人在服务器上不小心执行了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
博客讲述了在服务器上执行rm-fr/*导致的问题,以及如何处理由于文件名包含特殊字符(如-)导致的删除困难。通过使用ls|xargs-n1000rm-frvls命令尝试删除大量文件,但遇到无效选项的错误。解决方案是使用rm命令的--选项来正确处理带有特殊字符的文件名,并通过添加-v参数以跟踪删除过程。最后,提到了在后台执行删除操作的方法。
1万+

被折叠的 条评论
为什么被折叠?



