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 生态。只要运行过
npm或npx命令,包括 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 yarn或npm 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 run或streamlit hello,或运行了使用 Streamlit 作为前端的 AI 演示项目。 - 是否可删除: 可以删除。删除后自定义配置恢复默认值。
- 占用空间: 极小,通常只有几 KB。
# .tldrc
- 用途: tldr(Too Long; Didn't Read)命令行工具的本地文档缓存。存放数百个常用命令的简化版说明(Markdown 格式),支持离线快速查询。
- 来源: 通过
brew install tldr或npm 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 下的关联文件,从源头避免产生残留。其他可视化磁盘分析工具如 OmniDiskSweeper 或 GrandPerspective 也能帮助定位深层目录中的大文件。
# Finder 中切换隐藏文件显示
在 Finder 中按下组合键:
Command + Shift + .(点号)
可以一键切换隐藏文件的显示与隐藏状态。平时建议保持隐藏,需要检查时临时开启。
# 清理时的注意事项
- 备份优先: 在大规模清理前,确保重要数据已备份。特别注意
~/.ssh(SSH 密钥)和~/.zshrc(终端配置)这类关键文件。 - 使用官方清理命令: 尽量使用各工具提供的官方清理命令(如
npm cache clean --force、yarn cache clean、dotnet nuget locals all --clear、pip cache purge),比直接rm -rf更安全。 - 先查后删: 对于不确定的文件夹,先用
ls -la查看内容、du -sh查看大小、stat查看创建时间,确认无误后再删除。 - 清理环境变量: 删除开发工具后,记得检查
~/.zshrc中是否有相关的export PATH=...配置,及时清理以避免终端报错。 - 系统临时目录交给系统:
/private/var/folders下的内容通过重启电脑来清理,不要手动删除。 - 不要忽视
node_modules: 各项目文件夹中的node_modules目录是另一个巨大的空间消耗源,可以用find ~ -name "node_modules" -type d -prune -print | xargs du -chs统计总量。