10. 配置、主题与终端

磁盘占用

查看 Matcha 主目录占用了多少磁盘。这是对 ~/.matcha(或 MATCHA_HOME)的读取。它不启动 TUI;主目录不存在时也不会创建。

运行

matcha du
matcha disk-usage

disk-usagedu 的可见别名。加 --json 得到机器可读报告(schema_version 1)。

若主目录不存在,人类可读输出是:

Nothing on disk yet at ~/.matcha.

(或 $MATCHA_HOME / 你覆盖的路径)。JSON 随后为该路径发出一份空报告。

~/.matcha 不存在但残留着 ~/.grokdu 会计量这棵只读兼容的旧树,既不迁移也不创建 ~/.matcha

读报告

人类可读输出以 Disk usage for … 开头,然后是主目录里每个顶层目录(从大到小),若有顶层文件则是 (top-level files),最后是 total

常见名称:sessionsmemorylogspluginsworktreesworktree_pool。大小是本卷上的物理字节。位于另一文件系统上的目录显示为 -,不计入总计。

Worktrees 表列出 worktrees/worktree_pool/ 下的 clone,含大小、类型、年龄、标签和路径。Untracked 行是工作树注册表不认识的。托管工作树目录之外的行只在附注里计数,不列出。

Unix 上的 clone 可能与源共享块,所以打印的总计可能大于「真正多占」的磁盘。du 不跟随指向其它目录的顶层符号链接;那些内容不计入总计。

该命令先计量目录树,再打开工作树注册表,因此只读打开 SQLite 不会把 -wal / -shm 附属文件算进总计。

腾出空间

matcha du 从不删除任何东西。

当工作树占了大头,报告会建议:

matcha worktree gc --max-age 7d --dry-run

然后去掉 --dry-run 再跑同一条。没有 --max-age 时,gc 不会过期任何东西。它只访问注册表跟踪的工作树;你在 du 里看到的未跟踪目录,确认不用后再手动删除。

核对一下

  1. matcha dumatcha disk-usage 打印同一份报告。
  2. matcha du --json 包含 grok_home(解析后的主目录路径)、total_bytestop_level_dirs
  3. 从 Matcha 创建 git 工作树后,du 会在 Worktrees 下显示它;gc --dry-run 只列出注册表跟踪的条目。