清理 macos zsh 历史缓存需依次执行:1. history -c 清空内存历史;2. rm -f ~/.zsh_history 删除主历史文件;3. rm -rf ~/.zsh_sessions 清理会话快照;4. rm -f ~/.zcompdump* 可选清理补全缓存;5. source ~/.zshrc 重载配置;最后验证文件不存在且 history 行数显著减少。
清理 macos zsh 历史缓存文件,核心是删掉 ~/.zsh_history 和相关会话元数据,同时避免误删补全缓存等必要配置。这能释放磁盘空间、加快 history 命令响应,并消除敏感命令残留。
删主历史文件并清空当前会话
zsh 的命令历史默认存于 ~/.zsh_history,长期积累可达几 MB 甚至更大。不先清内存缓冲区,重启终端后命令会自动回写。
- 在终端运行:
history -c(清空当前 Shell 内存中的历史) - 再执行:
rm -f ~/.zsh_history - 关闭所有终端窗口(包括后台隐藏的),重新打开一个新终端
- 输入
history | head -n 5,应只显示初始化类命令(如cd ~、source ~/.zshrc)
同步清理会话快照目录
macOS 为每个终端窗口单独保存会话状态,包括未写入主历史的命令片段、工作路径、启动时间等,路径是 ~/.zsh_sessions。不删它,新开窗口可能“复活”旧命令。
- 确保 Terminal 进程已完全退出(可在“活动监视器”中搜索确认无残留)
- 运行:
rm -rf ~/.zsh_sessions - 若提示
Operation not permitted,需先到「系统设置 → 隐私与安全性 → 完全磁盘访问权限」中给“终端”授权
可选:一并清理补全缓存(提升 tab 补全速度)
.zcompdump 是 zsh 补全函数的预编译缓存,配置变更后易过期,导致补全卡顿或报错,且体积常达几百 KB。
- 执行:
rm -f ~/.zcompdump* - 随后运行:
source ~/.zshrc,zsh 会在下次启动时自动生成新版缓存
验证是否清理干净
清理后可快速确认效果:
-
ls -lh ~/.zsh_history应提示 “No such file or directory” -
ls -la ~/.zsh_sessions同样应报错,或返回空结果 -
history | wc -l输出值通常为 3–6,远低于清理前的数百或上千行











