macOS 的家目录下总是藏着大量以 . 开头的隐藏文件和文件夹。对于长期使用 Mac 进行开发的用户来说,这些文件夹日积月累,可能占据数 GB 甚至数十 GB 的磁盘空间。本文将对家目录下常见的隐藏文件夹进行全面梳理,按来源分类说明每个文件夹的用途、占用空间以及是否可以安全删除,帮助你在系统清理或升级前做出明智的决定。

如果你正在准备 macOS 系统升级或深度清理,建议结合 macOS 系统深度清理与升级准备 一文一起阅读。

提示:本文由 AI 根据对话历史整理,仅供参考

# 为什么家目录有这么多隐藏文件夹

这源自 Unix/Linux 系统的 Dotfiles 传统。在 Unix 世界中,以 . 开头的文件或目录会被系统自动视为"隐藏",不会在默认的文件列表中显示。各种应用程序利用这一特性,将配置文件、缓存数据、日志等存放在用户家目录下的隐藏文件夹中。

macOS 继承了这个传统。随着你安装的软件越来越多——从开发工具到办公应用,从 AI 框架到游戏加速器——家目录下的隐藏文件夹也会不断增加。即使卸载了应用,这些配置残留通常不会被自动清理。

在 Finder 中按下 Command + Shift + .(点号)可以切换隐藏文件的显示状态,方便你查看这些文件夹。

# 按来源分类说明

# 系统原生

这些是 macOS 自身创建和维护的文件,属于系统正常运作的一部分。

# .cups

  • 用途: CUPS(Common Unix Printing System)的用户级配置目录。存放默认打印机设置、SSL/TLS 证书缓存以及客户端配置文件(如 client.conf)。
  • 来源: macOS 内置打印系统。Apple 在 2002 年收购了 CUPS,使其成为 Mac 原生打印引擎。只要你打印过文件(包括打印成 PDF)或添加过打印机,该目录就会自动生成。
  • 是否可删除: 可以,但没必要。删除后可能重置打印偏好设置,下次打印时会自动重建。
  • 占用空间: 极小,通常不足 1MB。

# .zsh_sessions

  • 用途: macOS 终端(Terminal)的会话恢复功能目录。保存每个终端窗口的操作历史和工作路径状态,以便在重新打开终端时恢复上次的会话。
  • 来源: macOS 系统原生行为。自 macOS 将默认 Shell 从 Bash 切换为 Zsh 后,该目录由系统自动创建和管理。
  • 是否可删除: 可以删除,但会自动再生。删除后终端将无法恢复上次的命令状态。
  • 占用空间: 如果频繁使用终端且从不清理,可能积累几十 MB 到几百 MB。
  • 补充: 如果想彻底关闭该功能,可在 ~/.zshrc 中添加 export SHELL_SESSION_HISTORY=0

# .CFUserTextEncoding

  • 用途: 记录当前用户的默认文本编码和语言设置,属于 macOS Core Foundation 框架的基础配置文件。
  • 来源: macOS 系统。创建用户账号时自动生成,内容通常类似 0:15 这样的编码标识。
  • 是否可删除: 不建议删除。虽然删除不会导致系统崩溃,但某些老旧应用可能出现乱码问题。系统会在下次登录时自动重建。
  • 占用空间: 仅几个字节,完全可以忽略。

# 开发工具

这些文件夹由各种编程语言的包管理器、运行环境和交互工具创建。

# .npm

  • 用途: npm(Node Package Manager)的全局缓存目录。存放通过 npm install 下载过的所有包的缓存副本,实现跨项目复用和离线安装。采用内容寻址存储(哈希命名)确保包的完整性。
  • 来源: Node.js 生态。只要运行过 npmnpx 命令,包括 VS Code 等 IDE 后台更新插件时也会调用。
  • 是否可删除: 可以删除。建议使用官方命令 npm cache clean --force 进行清理。删除后下次安装依赖需要重新联网下载。
  • 占用空间: 空间大户,长期不清理可达数 GB。

# .nvm

  • 用途: Node Version Manager 的根目录,存放所有已安装的 Node.js 版本二进制文件、各版本下的全局包(npm install -g 安装的工具)以及版本别名配置。
  • 来源: 用户手动安装 NVM 以管理多版本 Node.js 环境。
  • 是否可删除: 如果还在进行前端开发,不要删除——删除后所有 Node.js 环境和全局工具都会消失。如果不再需要,删除前应先运行 nvm unload,并清理 ~/.zshrc 中的 NVM 环境变量配置。
  • 占用空间: 每个 Node 版本约占 100-200MB,加上各版本独立的全局包,可能超过 1-2GB。

# .yarn

  • 用途: Yarn 包管理器的核心工作区。存放全局缓存(已下载的依赖包压缩文件)、发布元数据等。Yarn 2+ (Berry) 版本还可能在项目目录下创建同名文件夹存放 Zero-Installs 数据。
  • 来源: 前端开发中作为 npm 的替代品使用,通过 brew install yarnnpm install -g yarn 安装。
  • 是否可删除: 可以删除。建议使用官方命令 yarn cache clean 进行清理。
  • 占用空间: 空间大户,长期不清理的 .yarn/cache 可能堆积数 GB。

# .ipython

  • 用途: IPython 交互式 Python 解释器的全局配置和工作目录。包含配置文件(ipython_config.py,可设置启动时自动导入的库等)、扩展插件、命令历史记录以及编译缓存。
  • 来源: 直接运行 ipython,或间接通过 Jupyter Notebook、JupyterLab、VS Code Python 交互窗口等调用 IPython 内核时自动创建。
  • 是否可删除: 可以删除。删除后自定义配置和历史记录会丢失,下次运行时会重新生成默认配置。
  • 占用空间: 通常较小。

# .jupyter

  • 用途: Jupyter 项目(Notebook、Lab、Hub)的全局运行时配置中心。包含核心配置文件 jupyter_notebook_config.py(控制密码登录、默认目录、端口等)、JupyterLab 的工作区布局信息以及界面个性化设置。
  • 来源: 安装并使用过 Jupyter 相关组件,包括通过 pip/conda 安装或在 VS Code 中运行 .ipynb 文件。
  • 是否可删除: 可以删除,但建议先查看配置。如果曾为 Jupyter 设置过登录密码,删除后密码会失效。
  • 占用空间: 通常只有几百 KB。

# .ipynb_checkpoints

  • 用途: Jupyter Notebook 的自动备份目录。编辑 .ipynb 文件时,Jupyter 会定期自动保存代码状态到此目录,可通过 File -> Revert to Checkpoint 恢复。
  • 来源: Jupyter Notebook / JupyterLab。与其他配置目录不同,它不仅存在于家目录下,还会散落在任何打开过 .ipynb 文件的文件夹中。
  • 是否可删除: 完全可以删除。只会失去"恢复到上一个自动保存点"的功能,不影响原始 .ipynb 文件。
  • 占用空间: 单个较小,但散落在各处,累计可能不少。
  • 补充: 批量清理命令:find ~ -name ".ipynb_checkpoints" -type d -exec rm -rf {} +。建议在 .gitignore 中添加 .ipynb_checkpoints 防止上传到代码仓库。

如果你在整理 Python 环境方面有更多疑问,可以参考 macOS Python 环境管理:从混乱到 uv

# AI/ML 框架

这些文件夹由深度学习框架创建,用于缓存预训练模型和数据集。

# .keras

  • 用途: Keras(现深度集成在 TensorFlow 中)的默认数据存储中心。包含三类内容:通过 keras.datasets.load_data() 下载的数据集缓存、预训练模型权重文件(如 ResNet50、VGG16 等,存放在 .keras/models 下)、以及全局配置文件 keras.json(决定后端引擎和数据维度顺序等)。
  • 来源: 安装并运行过 TensorFlow/Keras,或使用了底层依赖 Keras 的第三方 AI 应用。
  • 是否可删除: 可以删除。删除后下载过的模型权重和数据集都会被清空,下次运行相关代码时需要重新下载。
  • 占用空间: 取决于下载的模型数量,可能达到 数百 MB 到数 GB

# .mxnet

  • 用途: Apache MXNet 深度学习框架的本地仓库。存放通过 Model Zoo 下载的预训练模型(如 ResNet、Inception)、内置数据集(如 MNIST)缓存以及编译好的算子缓存。
  • 来源: 安装并使用过 MXNet 框架,或运行了基于 MXNet 的开源项目、AWS SageMaker 本地模式等。
  • 是否可删除: 可以删除。删除后之前下载的模型会丢失,再次运行相关代码时会重新下载。
  • 占用空间: 视下载的模型数量,通常在 数百 MB 到数 GB 之间。

# .NET 生态

这组文件夹来自微软的 .NET 开发工具链,通常成套出现。

# .nuget

  • 用途: NuGet 包管理器的全局包缓存目录。按"包名/版本号"结构存储已下载的 .NET 第三方库,多个项目使用相同版本的库时共享缓存,支持离线构建。
  • 来源: 安装了 .NET SDK 并运行过 dotnet restore,或使用过 Visual Studio for Mac、Rider 等 IDE。Unity 的某些高级插件也可能触发 NuGet 下载。
  • 是否可删除: 可以删除。建议使用官方命令 dotnet nuget locals all --clear 安全清理。删除后下次编译项目需要重新联网下载依赖。
  • 占用空间: 空间大户,参与过多个 .NET 项目时可达 1-5GB 甚至更多

# .omnisharp

  • 用途: OmniSharp 的运行目录。OmniSharp 为 VS Code 等轻量级编辑器提供 C# 的 IDE 级功能(代码补全、跳转到定义、重构等)。存放运行时二进制文件、日志和插件组件。
  • 来源: 在 VS Code 中安装了 C# 扩展包(C# Dev Kit),打开 .cs.sln 项目时自动下载初始化。
  • 是否可删除: 可以删除。删除后下次在 VS Code 中打开 C# 项目时需要等待重新下载和初始化。
  • 占用空间: 几十 MB 到几百 MB。

# .mono

  • 用途: Mono 运行时(开源 .NET Framework 实现)的配置目录。存放公钥/密钥库、运行时环境设置和受信任的根证书缓存。
  • 来源: 安装过 Unity 游戏引擎(底层使用 Mono)、Visual Studio for Mac(深度依赖 Mono)、Xamarin 移动开发框架,或某些使用 Mono 的跨平台应用。
  • 是否可删除: 如果不再进行 .NET/Unity 开发,完全可以删除。
  • 占用空间: 极小,通常几百 KB 到几 MB。

# .ServiceHub

  • 用途: Visual Studio for Mac 的核心工作目录。ServiceHub 是微软的宿主进程架构,让代码分析、调试、Roslyn 编译器等服务在独立进程中运行以提高编辑器稳定性。存放日志、状态信息和缓存。
  • 来源: 安装过 Visual Studio for Mac(微软已宣布该产品退役),或 VS Code 的特定深度 .NET 调试扩展。
  • 是否可删除: 可以删除。不影响软件运行,下次启动时会自动重建。
  • 占用空间: 中等。

# .templateengine

  • 用途: .NET CLI 模板功能的数据目录。存放通过 dotnet new 命令使用的项目模板缓存、可用模板扫描结果和自定义模板元数据。
  • 来源: 安装了 .NET SDK,运行过 dotnet new 命令(如 dotnet new console),或 VS Code/Visual Studio 后台调用了模板引擎。
  • 是否可删除: 可以删除。删除后下次运行 dotnet new 时系统会自动重新扫描并重建。
  • 占用空间: 很小,通常只有几百 KB。

# 第三方应用

这些文件夹由各类第三方软件创建,通常是应用配置或缓存的残留。

# .bytertc

  • 用途: 字节跳动 RTC(实时通信)SDK 的数据目录。存放音视频通话的运行日志、设备配置信息和通信缓存。
  • 来源: 安装过飞书(Lark)、抖音/TikTok、剪映(CapCut),或使用了集成火山引擎 RTC 服务的第三方应用。
  • 是否可删除: 可以删除。删除后再次使用相关软件时会自动重建。
  • 占用空间: 通常几 MB 到几十 MB,日志堆积时可能更大。

# .ccnet

  • 用途: Seafile 云存储客户端的核心配置目录(ccnet = Cloud Connect Network)。存放客户端 ID 和密钥、服务器地址配置、网络连接管理数据和日志。
  • 来源: 安装过 Seafile 同步客户端或 SeaDrive 挂载盘。
  • 是否可删除: 如果仍在使用 Seafile,不要删除(会导致账户信息丢失)。如果已卸载 Seafile,可以安全删除。
  • 占用空间: 通常只有几 MB。

# .leigod

  • 用途: 雷神加速器的本地数据目录。存放登录信息、加速日志、节点缓存和更新文件。
  • 来源: 安装过雷神加速器,用于游戏网络加速。
  • 是否可删除: 可以删除。删除后下次打开加速器可能需要重新登录。
  • 占用空间: 通常不大。

# .freerdp

  • 用途: FreeRDP 开源远程桌面客户端的配置目录。存放已知主机指纹(防止中间人攻击)、连接证书和临时设置。
  • 来源: 通过 Homebrew 安装过 FreeRDP,或使用了基于 FreeRDP 引擎的远程管理工具(如 Royal TSX、Remmina 等)。
  • 是否可删除: 完全可以删除。唯一副作用是下次连接远程服务器时可能需要重新确认主机信任。
  • 占用空间: 极小,通常只有几 KB。

# .eclipse

  • 用途: Eclipse IDE 的用户级配置和插件数据目录。存放版本信息、通过 Eclipse Marketplace 安装的插件缓存(P2 Repository Cache)和全局偏好设置。
  • 来源: 安装过 Eclipse IDE,或基于 Eclipse 开发的工具如 DBeaver(数据库管理)、STM32CubeIDE(嵌入式开发)等。
  • 是否可删除: 如果已卸载 Eclipse 及相关工具,可以放心删除。插件缓存有时可达几百 MB。
  • 占用空间: 中等,插件缓存可能较大。

# .mplayer

  • 用途: MPlayer 开源多媒体播放器的配置目录。存放播放偏好(config)、自定义快捷键(input.conf)、字幕缓存和字体索引。
  • 来源: 安装过 MPlayer、MPlayerX 或 SMPlayer,也可能由早期版本的 IINA(基于 mpv/MPlayer 衍生)间接创建。
  • 是否可删除: 可以删除。不影响使用 IINA、VLC 等现代播放器。
  • 占用空间: 极小,通常不到 1MB。

# .streamlit

  • 用途: Streamlit(Python Web 应用框架)的全局配置目录。包含核心配置文件 config.toml(自定义主题、端口、文件大小限制等)、身份信息 credentials.toml 和第三方组件元数据。
  • 来源: 在终端运行过 streamlit runstreamlit hello,或运行了使用 Streamlit 作为前端的 AI 演示项目。
  • 是否可删除: 可以删除。删除后自定义配置恢复默认值。
  • 占用空间: 极小,通常只有几 KB。

# .tldrc

  • 用途: tldr(Too Long; Didn't Read)命令行工具的本地文档缓存。存放数百个常用命令的简化版说明(Markdown 格式),支持离线快速查询。
  • 来源: 通过 brew install tldrnpm install -g tldr 安装。
  • 是否可删除: 可以删除。删除后运行 tldr 命令时需要先执行 tldr --update 重新下载。
  • 占用空间: 很小,通常只有几 MB。

# Microsoft

# .IdentityService

  • 用途: Microsoft Office 身份验证库(ADAL/MSAL)的缓存目录。管理 Office 账号的免密登录状态、访问令牌/刷新令牌以及多账号切换的隔离信息。
  • 来源: 安装并登录过 Microsoft Office 365(Word、Excel、PowerPoint、Outlook)、Microsoft Teams、OneDrive 或 Microsoft Edge(开启同步)。
  • 是否可删除: 如果仍在使用 Office,不要删除——会导致所有微软软件集体"掉线",需要重新登录甚至可能遇到激活报错。如果已卸载所有微软软件,可以安全删除。
  • 占用空间: 较小。

# Java 相关

# .oracle_jre_usage

  • 用途: Oracle JRE 的使用统计目录。记录哪些 Java 应用启动过、运行时长和使用的 JRE 版本,最初为企业用户管理 Java 许可证而设计。文件通常是以 .usg 结尾的小文件。
  • 来源: 安装过 Oracle JDK/JRE 并运行过 Java 应用(包括 Minecraft 等游戏或企业级软件)。
  • 是否可删除: 完全可以删除,没有任何副作用。如果已切换到 OpenJDK(如 Zulu、Temurin),该目录属于纯粹残留。
  • 占用空间: 极小。

# 版本控制

# .plastic4

  • 用途: Plastic SCM(已更名为 Unity Version Control)的客户端配置中心。存放服务器连接配置和登录凭据、工作区信息、本地缓存元数据和同步日志。
  • 来源: 安装过较新版本的 Unity Hub/Editor(Plastic SCM 是 Unity 默认的版本控制方案),或参与过使用 Plastic SCM 的团队项目。名称中的"4"源自该软件第四代架构。
  • 是否可删除: 如果不再使用 Plastic SCM / Unity Version Control,完全可以删除。不会损坏项目中的实际代码或美术资源。
  • 占用空间: 通常只有几 MB。

# 远程访问

# .putty

  • 用途: PuTTY SSH/Telnet 客户端的配置目录。存放保存的服务器会话(IP、端口、连接设置)和 SSH 主机密钥指纹。
  • 来源: 在 Mac 上通过 Homebrew 安装过 PuTTY(brew install putty),或使用了基于 PuTTY 内核的远程管理工具。macOS 自带强大的终端 SSH 功能,PuTTY 通常是从 Windows 迁移过来的用户出于习惯安装。
  • 是否可删除: 可以删除。不影响 macOS 自带的 SSH 功能。
  • 占用空间: 极小,通常只有几 KB。

# .freerdp

(已在"第三方应用"部分说明,此处列出是因为它同时属于远程访问类别。)

# 非隐藏的特殊文件/文件夹

家目录下有时还会出现一些没有以 . 开头、但看起来不太寻常的文件或文件夹。

# protobuf

  • 用途: 通常是用户手动下载(git clone)的 Google Protocol Buffers 源代码仓库,或本地编译的产物,也可能是自定义的 .proto 项目文件夹。
  • 来源: 用户手动创建。在 M1 Mac 刚发布时,很多自动化安装工具还不完善,开发者常手动克隆源码到家目录编译以确保兼容性。
  • 是否可删除: 如果通过 Homebrew 已安装 protobuf(终端运行 protoc --version 可验证),且没有项目依赖此路径,可以删除。建议将这类项目文件夹移动到 ~/Developer~/Documents/Code 下统一管理。
  • 占用空间: 视内容而定。

# pico.save

  • 用途: 终端文本编辑器 pico(或其现代版 nano)的紧急备份文件。当编辑过程中终端突然关闭、SSH 连接断开或电脑断电时,编辑器会将未保存的内容写入此文件。
  • 来源: 系统自动创建。使用 nano/pico 编辑文件时发生了意外中断。
  • 是否可删除: 几乎 100% 可以删除。删除前可用 cat ~/pico.save 查看内容确认没有重要数据。
  • 占用空间: 极小。

# ees

  • 用途: 可能的身份包括:EES(Engineering Equation Solver)工程方程求解器的数据文件夹(在 Mac 上通过 Wine/CrossOver 运行)、企业端点加密服务(Endpoint Encryption Service)的配置残留,或某个项目的自定义缩写。
  • 来源: 用户行为或特定软件创建。
  • 是否可删除: 建议先用 ls -la ~/ees 查看内容和 stat ~/ees 查看创建时间来判断来源,确认无用后可删除。
  • 占用空间: 视内容而定。

# NuGet

  • 用途: 与 ~/.nuget 功能相关但不同,这是 NuGet 包管理器可能创建的非隐藏配置或工作目录(区分于全局缓存目录 ~/.nuget/packages)。
  • 来源: .NET 开发工具链。
  • 是否可删除: 如果不再进行 .NET 开发,可以删除。建议使用 dotnet nuget locals all --clear 统一清理 NuGet 相关缓存。
  • 占用空间: 视内容而定。

# 系统级临时目录:/private/var/folders

在清理过程中,你可能还会注意到 /private/var/folders/ 下的一些目录,例如:

/private/var/folders/yx/llzrrk296dq4n50r6kfhp8mr0000gn

这是 macOS 的 系统级临时缓存目录,它的结构含义如下:

  • /private/var/folders/ — 系统临时文件根目录
  • yx — 随机生成的两字符索引(每台电脑不同)
  • llzrrk...0000gn — 当前登录用户的唯一标识符(结尾的 gn 代表 Global Node)

该目录下通常包含三个子文件夹:

子目录 名称 用途
C Caches 应用程序缓存(浏览器预加载数据、编译中间件等)
T Temporary Items 真正的临时文件(如邮件中双击打开的 PDF 附件)
0 底层服务的持久性数据

是否可删除: 不建议手动删除。这里的许多文件正被当前运行的程序使用,强行删除可能导致应用崩溃甚至需要重启系统。正确的清理方式是重启电脑——macOS 会在启动或关机阶段自动清理过时的临时文件。

"安装空间不足"的问题有时并非源于照片或文档过多,而是此目录下堆积了大量过时的安装缓存。关于更详细的系统空间清理方法,参见 macOS 系统深度清理与升级准备

# 删除安全性评估

以下表格将所有文件夹按删除安全性分为三个等级:

# 绝对不要动

文件/文件夹 原因
.CFUserTextEncoding macOS Core Foundation 底层配置,删除可能导致文本乱码
/private/var/folders/... 系统级临时目录,正在被运行中的程序使用
.ssh SSH 密钥和配置(虽然本文未详述,但绝对不能删除)

# 建议保留(如果仍在使用相关软件)

文件/文件夹 原因
.cups 系统打印服务配置,占用极小
.zsh_sessions 终端会话恢复,占用通常可控
.IdentityService Office 登录状态,删除导致所有微软软件掉线
.ccnet Seafile 账户信息,正在使用时删除会丢失配置
.nvm Node.js 多版本环境,正在开发时删除导致环境瘫痪
.npm npm 缓存,建议用 npm cache clean --force 定期清理而非直接删除
.yarn Yarn 缓存,建议用 yarn cache clean 定期清理
.nuget NuGet 缓存,建议用 dotnet nuget locals all --clear 清理
.ipython IPython 配置和历史记录,正在使用 Python 时建议保留
.jupyter Jupyter 全局配置,正在使用时建议保留
.keras 模型权重缓存,重新下载耗时且需要网络
.mxnet 模型权重缓存,同上

# 可以删除(尤其是已卸载对应软件时)

文件/文件夹 占用空间评估 说明
.bytertc 几 MB ~ 几十 MB 飞书/抖音残留,删除后自动重建
.ccnet(已卸载 Seafile) 几 MB 纯残留配置
.eclipse 可达数百 MB 插件缓存可能较大
.freerdp 几 KB 远程桌面指纹,极小
.leigod 较小 雷神加速器残留
.mplayer < 1MB 播放器配置残留
.streamlit 几 KB Streamlit 配置
.tldrc 几 MB tldr 文档缓存
.putty 几 KB PuTTY 会话配置
.mono 几百 KB ~ 几 MB Mono 运行时配置
.omnisharp 几十 ~ 几百 MB OmniSharp 运行时缓存
.ServiceHub 中等 VS for Mac 残留
.templateengine 几百 KB .NET 模板缓存
.oracle_jre_usage 极小 Oracle Java 统计文件,纯残留
.plastic4 几 MB Unity Version Control 配置
.ipynb_checkpoints 散落各处 Jupyter 自动保存的草稿
protobuf 视内容而定 手动克隆的源码/项目
pico.save 极小 编辑器意外备份,孤立文件
ees 视内容而定 先确认内容再决定
NuGet 视内容而定 .NET 相关残留

# 清理建议与注意事项

# 查看空间占用排名

使用以下命令列出家目录下隐藏文件夹的空间占用 Top 10:

du -sh ~/.* | sort -rh | head -n 10

这条命令会计算所有隐藏文件夹的大小,按从大到小排序,只显示前 10 名。真正的"空间杀手"通常是 .npm.yarn.nuget.nvm.keras 等缓存目录。

# 按最后访问时间排序

使用以下命令查看哪些文件夹已经很久没被使用:

ls -altu ~/.*

这能帮助你区分哪些是几年前的残留、哪些是近期的活跃文件,辅助决策哪些可以安全删除。

# 使用 AppCleaner 辅助清理

手动逐个排查比较耗时。推荐使用免费工具 AppCleaner 来卸载应用——它会自动扫描并勾选隐藏在 . 开头目录和 ~/Library 下的关联文件,从源头避免产生残留。其他可视化磁盘分析工具如 OmniDiskSweeperGrandPerspective 也能帮助定位深层目录中的大文件。

# Finder 中切换隐藏文件显示

在 Finder 中按下组合键:

Command + Shift + .(点号)

可以一键切换隐藏文件的显示与隐藏状态。平时建议保持隐藏,需要检查时临时开启。

# 清理时的注意事项

  1. 备份优先: 在大规模清理前,确保重要数据已备份。特别注意 ~/.ssh(SSH 密钥)和 ~/.zshrc(终端配置)这类关键文件。
  2. 使用官方清理命令: 尽量使用各工具提供的官方清理命令(如 npm cache clean --forceyarn cache cleandotnet nuget locals all --clearpip cache purge),比直接 rm -rf 更安全。
  3. 先查后删: 对于不确定的文件夹,先用 ls -la 查看内容、du -sh 查看大小、stat 查看创建时间,确认无误后再删除。
  4. 清理环境变量: 删除开发工具后,记得检查 ~/.zshrc 中是否有相关的 export PATH=... 配置,及时清理以避免终端报错。
  5. 系统临时目录交给系统: /private/var/folders 下的内容通过重启电脑来清理,不要手动删除。
  6. 不要忽视 node_modules: 各项目文件夹中的 node_modules 目录是另一个巨大的空间消耗源,可以用 find ~ -name "node_modules" -type d -prune -print | xargs du -chs 统计总量。