macOS 有一些系统级的配置技巧,可以提升日常使用和开发体验。
显示隐藏文件
macOS 默认隐藏所有以 . 开头的文件(dotfiles),比如 .gitignore、.env 等配置文件。
方法对比
| 方法 | 适用场景 | 持久性 |
|---|---|---|
| 快捷键 | Finder、文件对话框 | 临时 |
| 终端命令 | 全局设置 | 永久 |
| ls 命令 | 仅终端查看 | 临时 |
快捷键切换(推荐)
在 Finder 或文件对话框中按 Command + Shift + . 即可快速切换显示/隐藏:
- 再按一次恢复隐藏
- 立即生效,无需重启
- 最常用的方法
终端全局设置
显示所有隐藏文件:
1 | # 修改 Finder 设置 |
恢复隐藏:
1 | # 恢复默认设置 |
终端查看隐藏文件
如果只需要在终端查看,用 ls 命令即可:
1 | # 显示所有文件(包括隐藏文件) |
让单个文件永久可见
情况 1:文件名以 . 开头
这种文件只能通过重命名去掉开头的点:
1 | # 例如让 .env 文件可见 |
注意:这是 Unix 规则,
chflags命令无法改变这类文件的可见性。
情况 2:被隐藏标记隐藏
用 chflags 命令取消隐藏标记:
1 | # 取消隐藏(-R 表示递归处理文件夹) |
注意事项
开启全局显示后,会看到很多系统和应用的内部文件(如 .DS_Store、.Trash 等),操作时注意别误删或修改这些文件。
禁用 .DS_Store 文件
什么是 .DS_Store
.DS_Store (Desktop Services Store) 是 macOS 系统用来存储文件夹的自定义属性的隐藏文件,比如文件图标的位置、文件夹视图设置或背景图片。这个文件在本地使用没什么问题,但在网络共享、Git 仓库或 USB 设备中可能会造成困扰。
详细信息请参考: Wikipedia - .DS_Store
查询当前设置状态
在修改设置前,我们可以先查看当前的配置状态:
1 | # 查询网络卷的 .DS_Store 禁用状态 |
禁用 .DS_Store 文件创建
禁用网络卷上的 .DS_Store
在网络共享文件夹(如 SMB、AFP、NFS)上禁用:
1 | defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true |
禁用 USB 设备上的 .DS_Store
在外接 USB 存储设备上禁用:
1 | defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true |
让设置生效
修改设置后需要重启 Finder:
1 | killall Finder |
注意:macOS 目前无法完全禁用本地磁盘上的 .DS_Store 文件创建,这是系统 Finder 正常工作所必需的。上述命令只对网络卷和 USB 设备有效。
清理现有的 .DS_Store 文件
清理特定目录:
1 | # 清理当前目录及子目录 |
清理整个系统(需谨慎):
1 | # 清理整个用户目录 |
Git 仓库处理
如果你在使用 Git,建议将 .DS_Store 加入 .gitignore:
1 | echo ".DS_Store" >> .gitignore |
已经提交到仓库的 .DS_Store 可以这样移除:
1 | # 从 Git 索引中删除,但保留本地文件 |
恢复默认设置
如果想恢复 macOS 的默认行为(允许创建 .DS_Store):
1 | # 恢复网络卷设置 |
适用版本
以上命令在 macOS 10.12 (Sierra) 及更高版本(包括最新的 macOS Sequoia 15.x)上均可正常使用。defaults 命令是 macOS 系统的标准配置工具,向后兼容性良好。