用途
Disk Manager 是一个磁盘空间管理与清理工具(Skill),用于分析磁盘使用情况、查找大文件、清理临时文件以及管理存储。该工具无需 API 密钥。
适用时机
资料中明确列出以下适用场景:
- "Check disk space"(检查磁盘空间)
- "Find large files"(查找大文件)
- "Clean up temp files"(清理临时文件)
- "Analyze directory size"(分析目录大小)
- "What's using my disk space?"(什么占用了我的磁盘空间)
以下场景不适用:
- 需要实时监控:应使用系统监控工具
- 磁盘基准测试:应使用 HD benchmarks 工具
- 文件系统修复:应使用 fsck/repair 工具
主要能力与命令
磁盘空间
{baseDir}/disk.sh space
{baseDir}/disk.sh space --human-readable
{baseDir}/disk.sh space /path/to/check
{baseDir}/disk.sh space --all
目录用量
{baseDir}/disk.sh du /path/to/directory
{baseDir}/disk.sh du /path/to/directory --depth 2
{baseDir}/disk.sh du /path/to/directory --sort-by-size
{baseDir}/disk.sh du /path/to/directory --threshold 100M
查找大文件
{baseDir}/disk.sh largest /path/to/search
{baseDir}/disk.sh largest /path/to/search --limit 20
{baseDir}/disk.sh largest /path/to/search --min-size 100M
{baseDir}/disk.sh largest /path/to/search --type f
查找旧文件
{baseDir}/disk.sh old /path/to/search --days 30
{baseDir}/disk.sh old /path/to/search --days 90 --delete
{baseDir}/disk.sh old /tmp --days 7 --list
清理
{baseDir}/disk.sh clean --temp
{baseDir}/disk.sh clean --cache
{baseDir}/disk.sh clean --logs
{baseDir}/disk.sh clean --all
{baseDir}/disk.sh clean --dry-run
文件类型分布
{baseDir}/disk.sh types /path/to/analyze
{baseDir}/disk.sh types /path/to/analyze --by-size
{baseDir}/disk.sh types /path/to/analyze --by-count
Inode 用量
{baseDir}/disk.sh inodes
{baseDir}/disk.sh inodes /path/to/check
{baseDir}/disk.sh inodes --find-high-usage
选项说明
| 选项 | 说明 | 默认值 |
|---|---|---|
| --human-readable | 以人类可读格式显示大小 | false |
| --depth N | 目录遍历深度 | 1 |
| --sort-by-size | 按大小排序(最大优先) | false |
| --limit N | 限制结果数量 | 10 |
| --min-size SIZE | 最小文件大小(如 100M) | None |
| --max-size SIZE | 最大文件大小 | None |
| --type TYPE | 文件类型:f(文件)、d(目录) | all |
| --days N | 早于 N 天的文件 | 30 |
| --delete | 删除找到的文件(危险) | false |
| --dry-run | 显示将会被删除的内容 | false |
| --threshold SIZE | 只显示超过该大小的目录 | None |
| --by-size | 按总大小排序 | false |
| --by-count | 按文件数量排序 | false |
大小单位
| 单位 | 值 |
|---|---|
| K | 千字节(1024 字节) |
| M | 兆字节(1024K) |
| G | 吉字节(1024M) |
| T | 太字节(1024G) |
使用示例
检查磁盘空间:
{baseDir}/disk.sh space --human-readable
# 显示所有已挂载文件系统及使用情况
查找大文件:
{baseDir}/disk.sh largest /home/user --limit 20 --min-size 100M
# 超过 100MB 的前 20 个文件
分析目录:
{baseDir}/disk.sh du /var/log --depth 2 --sort-by-size
# 按大小显示日志目录结构
清理临时文件:
{baseDir}/disk.sh clean --temp --dry-run
# 显示将被清理的内容(预演)
{baseDir}/disk.sh clean --temp
# 实际清理临时文件
查找旧文件:
{baseDir}/disk.sh old /tmp --days 7 --list
# 列出 /tmp 中早于 7 天的文件
文件类型分析:
{baseDir}/disk.sh types /home/user/Downloads --by-size
# 显示每种文件类型占用的空间
注意事项与限制
- 底层使用 df、du 和 find。
- 默认操作安全(不使用 --delete 不会删除文件)。
- 建议在任何清理操作前先执行 dry run 预演。
- 能优雅处理权限错误。
- 可分析特定目录或整个文件系统。
- --delete 属于危险操作,资料建议先执行 dry run:
# 先预演!
{baseDir}/disk.sh old /tmp --days 30 --delete --dry-run
# 再实际删除
{baseDir}/disk.sh old /tmp --days 30 --delete
价格、收费、平台支持范围等资料中未提供。