我们有一个文件夹变得笨重的问题,其中包含数十万个小文件。
执行rm -rf返回错误的文件太多了,而我们需要做的是:
find /path/to/folder -name "filenamestart*" -type f -exec rm -f {} \;
这有效,但速度非常慢,并且经常因内存不足而失败。
有一个更好的方法吗?理想情况下,我想删除整个目录而不关心其中的内容。
我有一个包含 266778 个子文件夹的文件夹。我怎样才能删除它?
我试过了
cd ~/.local/share/Trash/
sudo rm -rf *
Run Code Online (Sandbox Code Playgroud)
但这需要很多时间。在 1 分 25 秒的实时时间和 0.072 秒的用户时间后,它仅删除了 2500 个文件夹。这样,删除这个文件夹需要两个多小时。
有没有更快的方法来删除这个文件夹?为什么用户时间和实时时间相差这么大?
real 1m25.474s
user 0m0.072s
sys 0m28.142s
Run Code Online (Sandbox Code Playgroud)
我使用 Linux 2.6.32(Ubuntu 10.04.4 LTS)。
由于脚本错误(file_put_contents($text, $filename, FILE_APPEND)而不是file_put_contents($filename, $text, FILE_APPEND)我现在在一个文件夹中有 400 万个小文本文件。
我宁愿不破坏整个文件夹,因为那里有一些有用的文件。
所有不需要的文件的文件名中间都有“jpg”,但没有一个需要的文件。
删除这些的最快方法是什么?目前我什至不能在ls没有它挂在我的控制台的情况下做- 这使得识别我想要保留的文件的名称很难,否则我只是将它们移出文件夹然后删除整个文件夹。
是find . -name "*jpg*" -delete最好的选择,还是有更好/更快的方法?