新闻详情

新闻详情

首页 / 资讯中心 / 详情

disktree 全盘扫描实战:为什么从家目录扩展到整个磁盘只需要几秒

发布时间:2026/9/28 21:02:46来源:尧图网络
disktree 全盘扫描实战:为什么从家目录扩展到整个磁盘只需要几秒
disktree 全盘扫描实战为什么从家目录扩展到整个磁盘只需要几秒【免费下载链接】disktreeA treemap for finding and removing what fills your disk, for Omarchy. Rust GPUI.项目地址: https://gitcode.com/gh_mirrors/di/disktreedisktree 是一款用 Rust GPUI 构建的磁盘空间树状图treemap工具它把目录画成按真实磁盘占用大小排列的嵌套马赛克帮你找出磁盘被什么占满、标记该删的内容并安全清理。本文以一次真实的全盘扫描为例讲解 disktree 从家目录扩展到整个磁盘时为什么只需几秒就能完成而不是重新扫一遍全盘。先看一眼效果磁盘占用一张图看懂 ️界面上有几个关键区域详见 README.md顶部面包屑从/开始的完整路径。被扫根目录上方的条目是变暗的点击它就能把扫描范围扩大到那里中央马赛克颜色代表数据类型代码、缓存、媒体、Git、文档等斜纹表示可回收空间右侧面板当前选中的大小与占比、值得看一眼的清理建议、磁盘当前空闲量以及标记后的预计空闲量。开启全盘扫描的 3 种方式 ⚡从家目录出发想让 disktree 看到整个磁盘任选其一即可按g键直接跳转到家目录所在的磁盘根Omarchy 和 macOS 上就是/点击面包屑点击被扫根目录上方变暗的任一条目扫描范围会逐级扩大到那里命令行启动运行disktree --disk启动即扫描家目录所在的整块磁盘也可以直接disktree ~/src指定任意目录。 扩展完成后的新视图会自动定位到你出发的那个目录回退到小范围则只是普通的目录导航随时可来回切换。为什么扩展扫描只需要几秒很多人预期从~扩到/意味着重新扫描 390 万个文件截图底部可以看到scan 3.9M entries · 1.0 s。实际上扩展扫描只读取~之外的部分原因有三1. 记忆化复用已测过的子树直接搬运这是最关键的一步。扩展扫描时disktree 把已经测量好的树作为一个Known结构路径 共享的树节点交给新的遍历任务。当新扫描走到家目录时直接复用旧树不再逐文件读取复用逻辑在 scan.rsKnown注释写得很直白——widening from~to/only reads what is outside~触发入口在 state.rs 的widen_to它克隆当前树、生成Known再调用ScanHandle::spawn_with启动只扫增量部分的扫描端到端测试 widening_reuses_the_tree_it_has_and_reads_only_the_rest 专门验证了这一点子树被复用而非重走范围外的目录被真实扫描且视图自动选回来路。2. 并行扫描是底子即便要扫的新区域也很大disktree 的扫描器本身也是并行的沿用了 dust 的思路见 scan.rs 文件头注释每个目录带原子完成计数器只有当自身和所有子目录任务都结束后目录才构建最后一次性自底向上汇总大小并去重硬链接。多核并行意味着剩下的部分通常也就是秒级。3. 整个磁盘的范围被精确圈定扩展扫描只停留在家目录所在的那个卷按挂载源判定而非设备号。这带来两个好处自动跳过/proc、/sys、/run、tmpfs、/boot、其他磁盘、网络共享和自动挂载点按路径检查绝不会为了测量而挂载一块 NASbtrfs 快照子卷也会被排除——它们的文件与在线文件共享块计入就会把磁盘算两遍。所以全盘其实是这一块数据卷的全部可读内容范围可控、结果可信。扫描过程中的几个体感细节 ✅旧视图不闪烁扩展扫描进行时当前视图一直留在屏幕上直到更大的树落地才切换全程无空白无权限目录不瞎猜没有 root 时读不了的目录会被计入顶栏的不可读统计而不是估算一个数字硬链接只算一次两个名字指向同一个 inode只计一个文件的量所以删掉它能省出的空间是真实的删错有保护标记删除走审查流程默认进回收站永久删除永远先询问且系统目录/usr、/etc、/var/lib等会被直接拒绝详见 removal.rs。相关源码索引位置内容crates/disktree-core/src/scan.rs并行扫描器、进度上报、Known子树复用crates/disktree-app/src/state.rswiden_to扩展逻辑与g键行为crates/disktree-app/src/views.rs面包屑渲染与变暗条目扩大扫描crates/disktree-app/src/tests.rs扩展扫描复用子树的端到端测试crates/disktree-core/src/removal.rs删除保护规则及测试小结disktree 的全盘扫描并不是一次推倒重来的全盘遍历并行扫描器打底、记忆化复用让已测子树零成本并入、单卷圈定让范围精确可控——三者叠加从家目录扩展到整个磁盘自然只需要几秒。对于磁盘满了到底被什么占了这类问题这种即时反馈正是树状图工具最值钱的地方。【免费下载链接】disktreeA treemap for finding and removing what fills your disk, for Omarchy. Rust GPUI.项目地址: https://gitcode.com/gh_mirrors/di/disktree创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Agent-Native应用架构实战:从概念到落地的关键设计 2026/9/28 23:38:59

Agent-Native应用架构实战:从概念到落地的关键设计

“agent-native”这个词最近在圈子里讨论度很高,我一开始以为是营销话术,毕竟“AI原生”“大模型驱动”这类概念这两年见得太多。直到自己动手把两个项目从“带AI的普通应用”重构为“以智能体为核心的应用”,踩了一堆文档里没写的坑&#xf…

阅读更多 →
中文NER模型实战:HMM/CRF/BiLSTM+CRF的Python实现与选型指南 2026/9/28 23:38:59

中文NER模型实战:HMM/CRF/BiLSTM+CRF的Python实现与选型指南

简介:这套面向中文命名实体识别(NER)任务的Python资源包,集成了HMM、CRF、BiLSTM、BiLSTMCRF等经典模型的完整实现,并配有包含人名、地名、机构名及“其它”类别的标注数据集。数据标签基于B/M/E位置标记形成10种类别&…

阅读更多 →
鱼鹰算法优化XGBoost:Matlab分类工程实战与调参指南 2026/9/28 23:38:59

鱼鹰算法优化XGBoost:Matlab分类工程实战与调参指南

简介:本资源面向计算机、电子信息工程、数学等专业的大学生及算法初学者,提供一套基于鱼鹰优化算法(OOA)优化XGBoost的分类预测完整方案,可用于课程设计、期末大作业与毕业设计。压缩包共18个文件,约53.69M…

阅读更多 →
SSM知识产权管理系统毕设实战指南 2026/9/28 23:38:59

SSM知识产权管理系统毕设实战指南

简介:这是一套面向计算机专业本科生的知识产权管理系统毕业设计源码,基于SSM(SpringSpringMVCMyBatis)框架开发,完整覆盖前后端功能与数据库设计,适用于Java课程设计、毕设选题及Web开发能力实训。资源共10…

阅读更多 →
Codex CLI 安装配置与 401 报错排查实战指南 2026/9/28 23:38:53

Codex CLI 安装配置与 401 报错排查实战指南

1. 从一次深夜报错说起:Codex 安装到底卡在哪如果你最近在折腾 Codex CLI,大概率经历过这样的场景:装完之后兴冲冲敲下第一条命令,终端直接甩回来一句unexpected status 401 unauthorized: missing bearer or basic authenticatio…

阅读更多 →
agent-native实战拆解:从核心架构到落地避坑 2026/9/28 23:38:53

agent-native实战拆解:从核心架构到落地避坑

“agent-native”这个词,最近在圈子里出现的频率高到让人没法忽视。我第一次认真琢磨它,是因为团队吵着要给一个内部运营系统“接Agent”,结果大家讨论了一周才发现,对“Agent到底该干什么”几乎没有共识。有人觉得是加个聊天入口…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉