MangoDisk CLI使用教程:自动化磁盘清理,JSON输出轻松接入脚本
【免费下载链接】MangoDiskSafety-first disk cleaner and space analyzer for macOS and Windows, with duplicate cleanup, app uninstall, startup management, system optimization, and maintenance.项目地址: https://gitcode.com/gh_mirrors/man/MangoDisk
MangoDisk CLI是一款面向 macOS 和 Windows 的命令行磁盘清理工具,与桌面版 MangoDisk 使用同一套安全清理引擎。它默认只读扫描、不修改任何文件,支持--dry-run预览、智能推荐清理,并可通过JSON 输出轻松接入你的自动化脚本。对于需要定期维护磁盘、又不想频繁点开图界面的用户来说,这是让磁盘清理自动化的最快方式。
🧩 MangoDisk CLI 是什么?
MangoDisk 桌面端以"安全优先"著称:清理规则经过严格验证,执行前必须确认。而 CLI 把同样的能力搬进了终端:
- 同一引擎:CLI 与桌面应用共享
mangodisk-core核心,扫描与清理逻辑完全一致; - 默认只读:
mangodisk clean仅扫描并展示可清理内容,不会碰任何文件; - 机器可读:支持
--format json/jsonl输出,方便脚本解析; - 明确退出码:不同结果返回不同退出码,便于在 CI、cron 或任务计划中判断成败。
📦 一键安装:macOS 与 Windows 双平台
macOS(通过 Homebrew):
brew install harry0703/tap/mangodisk-cliWindows(PowerShell 安装最新版 CLI):
irm "https://get.mangodisk.app/cli" | iex安装完成后如果提示mangodisk无法识别,请重新打开终端,再验证版本:
mangodisk --version🚀 快速上手:4 条命令跑通磁盘清理
# 1. 只扫描并展示可清理内容(默认只读,安全) mangodisk clean # 2. 应用与桌面端一致的智能推荐 mangodisk clean --apply # 3. 预览全部可选内容,不实际删除 mangodisk clean --apply --selection all --dry-run # 4. 输出便于脚本处理的 JSON mangodisk clean --format json --no-progress各命令说明(详见 arguments.rs):
| 参数 | 作用 |
|---|---|
--apply | 扫描后应用所选清理规则(默认智能推荐recommended) |
--selection all | 选择全部可选条目,包含需要人工复核的项,风险更高 |
--dry-run | 只做预检和测算,不删除任何文件 |
--yes | 跳过交互确认;非交互环境执行清理时必须传入 |
--deep-project-discovery | 在本地磁盘额外搜索开发项目 |
--details | 在人类可读输出中显示来源数量与路径 |
⚠️ 安全设计:
--selection必须搭配--apply使用;在非交互环境下执行实际清理还必须加--yes,这是防止脚本误删的保护机制(见 clean.rs)。
📄 JSON 输出结构:脚本接入门槛有多低
加上--format json后,输出是一个带版本号的统一结构(定义见 output.rs):
{ "schemaVersion": "1.0", "command": "clean.scan", "data": { "...": "扫描到的清理规则、类别与空间占用" } }几个对脚本友好的细节:
- 成功时
data包含扫描结果;执行清理时额外提供selection、selectedBytes与cleanup结果(释放字节数、受影响条目数等); - 出错时输出
{"schemaVersion":"1.0","error":{"code":3,"message":"..."}},可直接判断失败原因; - 路径默认脱敏:JSON 输出中
path、currentPath等字段会被自动脱敏,避免在日志里泄露完整目录;确需完整路径时可加--include-full-paths; - 进度走 stderr:扫描进度写在标准错误流,
--no-progress可彻底关闭,保证 stdout 只有纯净的 JSON,直接pipe给jq解析即可。
📜 实战:把磁盘清理写进定时任务
以 macOS 的 cron 或 launchd 为例,每月自动做一次智能推荐清理并留档 JSON:
mangodisk clean --apply --yes --format json --no-progress > ~/logs/mangodisk-$(date +%F).jsonWindows 任务计划程序同理,核心就是判断退出码(定义见 exit_code.rs):
| 退出码 | 含义 |
|---|---|
0 | 成功 |
3 | 执行失败 |
4 | 缺少确认(非交互环境未传--yes) |
5 | 有操作正在占用,稍后重试 |
6 | 权限不足 |
7 | 操作被取消(如 Ctrl+C) |
8 | 完成但有部分条目跳过或失败 |
脚本里只需一句if [ $? -ne 0 ]; then ...就能区分"清理失败"与"部分警告",这是纯人类可读输出做不到的。
🛠 常用全局选项速查
| 选项 | 说明 |
|---|---|
--format human\|json\|jsonl | 输出格式;JSON 格式永不带终端颜色 |
--color auto\|always\|never | 控制人类可读输出的颜色 |
--no-progress | 关闭 stderr 进度输出,适合重定向 |
--include-full-paths | 在机器输出中保留完整本地路径 |
完整选项请随时运行mangodisk clean --help查看。
📁 想深入源码?从这里看起
- CLI 参数与子命令:src-tauri/crates/mangodisk-cli/src/arguments.rs
- clean 命令执行流程:src-tauri/crates/mangodisk-cli/src/commands/clean.rs
- JSON 输出与路径脱敏:src-tauri/crates/mangodisk-cli/src/output.rs
- 退出码映射:src-tauri/crates/mangodisk-cli/src/exit_code.rs
- 清理规则库(TOML 声明式规则):src-tauri/crates/mangodisk-core/rules/README.md
✅ 小结
MangoDisk CLI 用极低的门槛把"安全优先"的磁盘清理带进了终端:一条mangodisk clean只读扫描,--dry-run零风险预览,--format json让结果可被任何脚本解析,明确的退出码则让定时任务有据可查。无论你是想每周自动清理缓存,还是把磁盘健康检查纳入运维流水线,它都是简单、快速又免费的选择。动手前请记住:清理操作不可恢复,重要数据请务必备份。
【免费下载链接】MangoDiskSafety-first disk cleaner and space analyzer for macOS and Windows, with duplicate cleanup, app uninstall, startup management, system optimization, and maintenance.项目地址: https://gitcode.com/gh_mirrors/man/MangoDisk
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考