为什么将鹦鹉螺中的垃圾箱倒空需要这么长时间?


15

就此问题而言,“大目录”是指例如Linux内核git存储库或Chromium源。

如果我rm -rf从外壳程序中找到一个像这样的大目录,则最多仅几秒钟即可将其删除。

如果我先将其移至垃圾桶,然后清空垃圾桶,则第一次操作将花费一秒钟,然后实际删除将花费几分钟(我们说的是两位数)。

为什么清空垃圾如此缓慢?说“正在准备”时,它在做什么。运行实际上需要多少准备rm -rf ~/.local/share/Trash/

我已经看了20多分钟了。


如果您有空闲时间,可以libnautilus-private/nautilus-file-operations.c在源(apt-get source nautilus)中查看。我没有勤奋和耐心来阅读C.有趣的问题。+1
phipsalabim

3
rm -rf ~/.local/share/Trash可能会更快。参见askubuntu.com/a/468722/2273
Adam Monsen

Answers:


5

第一次操作发生时,它只是将文件移到回收站。

当您“删除”那些文件时,它将整个树文件加载到内存中,然后一个一个地删除每个文件。这使时序计算可以知道删除文件需要多长时间,要删除多少个文件,这些文件有多少(尽管此处未使用大多数参数),并允许您按一下该小红叉停止进程。

那就是为什么我总是从外壳中删除


当我访问鹦鹉螺垃圾桶时,它会冻结鹦鹉螺很长时间,我无法按任何东西。我想知道是否真的可以在nautilus上看到它,是否有某种方式可以禁用它或弹出窗口,因为我将它用于许多其他事情,然后突然之间,我不得不等待3分钟才能再次使用nautilus不想重新启动它:(
Aquarius Power
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.