如何删除很长的文件列表

如何删除很长的文件列表

我旧 PC 上的硬盘已满。这块硬盘不大,所以我必须非常谨慎地选择要保留的内容。这不是第一次发生这种情况,但 Firefox 会保留所有未提交的崩溃报告,作为 .dmp 和 .extra 文件。在我的磁盘实用程序中,Firefox 待处理的崩溃报告占用了大约 13GB。这非常烦人,因为当它崩溃时它从不询问我是否要发送报告,而且它不经常崩溃,所以我不知道它是如何填满的。我尝试浏览文件夹并删除它们,但它占用了太多的 RAM,以至于一旦加载,窗口甚至不会响应输入。因此,我使用终端,删除了崩溃报告中的空间,并尝试通过更改目录并使用rm ./*.*并以此方式删除所有文件,然后我尝试./*.dmp./*.extra但每次我都会收到相同的错误:

bash: /bin/rm: Argument list too long

所以我猜是因为文件太多了,无法传递参数。有人能帮我删除所有这些待处理的报告吗?这样我就不必输入每一份特定的报告了,因为这些报告太长了,无法单独输入。感谢您提供的任何建议。

编辑:这是一个新帐户,我的声誉很低,所以我 7 小时内都不能发布答案,这很愚蠢。所以我正在编辑以回答我自己的问题。

实际上,我在发布这篇文章后找到了一种方法。但我将发布我的方法,以防有人遇到同样的问题,或者遇到类似标签文件的问题。这都是关于标签的,标签使用十六进制格式。例如,我复制并粘贴了一些

  • 7fefb131-b757-f12f-072987c7-68919cbc.额外

  • 7fefd48b-d795-1714-6ce8144d-17b5e21f.dmp

  • 7fefd48b-d795-1714-6ce8144d-17b5e21f.额外

  • 7ff02020-5bcb-b5c6-276167bb-0c1fa603.dmp

  • 7ff02020-5bcb-b5c6-276167bb-0c1fa603.extra

因此,由于要删除的文件太多,rm ./.我所做的就是一次删除大块内容:

rm ./7e*.* rm ./7d*.*

它会遍历并删除所有以 7e、7d 等开头的文件。由于它是十六进制,因此您只需遍历 0-9,af。但是,您可能不必遍历每个文件名的第二部分(78*、79*、7a、7b、7c 等),而只需使用rm ./0*.* rm ./1*.*etc 遍历 0-9,然后 af。我希望我解释得足够清楚,我不喜欢被困在这样的事情上,我希望我可以帮助别人。只要您的文件在标签上遵循这样的格式,无论是十六进制格式,还是遵循特定顺序的任何格式(abc1.dmpabc2.dmpefg1.dmp之类的格式),您都可以简单地浏览列表并删除大块文件而不是单个文件。祝你好运。如果有人读到这篇文章并有编辑点,请告诉我,我一直在寻找更好的格式。当我只是按照我看到的方式输入时,很难一直保持清晰。

答案1

运行以下命令:

cd /path/to/folder

find -iname "*.dmp" -exec rm -rf {} \;

Find 命令查找所有以 .dmp 扩展名结尾的文件并逐个删除它们,因此此命令一次删除一个文件,然后 find 命令将所有 .dmp 文件逐个传递给 rm 命令进行删除

相关内容