起因
总是那个原因,C:
D:
E:
全都红了,下的游戏太多了,然后就这样了,之前也有过不少这种情况.几年前,就在智能手机上见过类似的功能. 大概就是遍历文件系统,统计每个文件的大小,然后父节点记录所有子节点的和,然后可以显示占用百分比之类的.
经过
在windows 上我最开始使用explorer.exe
文件夹手动查看文件夹大小,它还得等好长时间才能显示,如果文件结构复杂,元数据多的话.后来会用du
,反正速度也不快,笔记本硬盘刷刷的响.后来自己用rust
写了一个简易版的du
,还是慢,而且上一次的记录结果,程序一退出就没了(我注意到du
可能有什么机制,会把上一次的结果缓存下来.直到最近,发现了切实可行的方法,那就是everything
.
这个东西应该用的人不少,搜索速度极快,支持regex
,这两个功能合起来对我而言就已经非常棒了.直到我上次在D:\
du --max-depth=0
的时候,听着硬盘旋转的声音,忽然想到用everything
来做这件事.果然查到了方法.
结果
结果,du
还没遍历完,我就把它关了.everything
设置好了后,索引了一会,就好了,然后用regex
搜索路径,并按照大小排序,很快是就办完了.还有个想写的是有一次好奇,everything
为什么这么快,找到了这个,大意是说everything
用了一些底层高速的方法,逃过api
来获取文件的元数据,以及追踪文件系统的变化.