__MACOSX
文件夹是 macOS 系统在压缩(通常是 ZIP 格式)文件时自动生成的一个隐藏目录,用来存储文件的“资源叉”(Resource Forks)和其他元数据(比如文件图标位置、颜色标签、Finder 信息等)。
详细介绍:
- 为什么存在?
macOS 文件系统(HFS+、APFS)支持比 Windows 或 Linux 更复杂的文件元数据和属性。为了保留这些信息,当在 macOS 上压缩文件时,系统会把这些额外信息单独保存到__MACOSX
目录中。 - 内容包括:
.DS_Store
文件的相关信息- 文件的图标、标签、权限等
- 资源叉(Resource Forks)数据
- 在其他系统看到的情况:
当你在 Windows 或 Linux 解压 macOS 生成的 ZIP 文件时,会看到这个__MACOSX
文件夹。它对于非 macOS 系统通常没用,可以安全删除。
是否可以删除?
- 可以删除!
除非你在 macOS 系统上需要保留特定的文件元信息,否则这个文件夹不影响文件的正常使用,删除不会损坏文件内容。
避免生成 __MACOSX
如果你不想在压缩包里看到这个文件夹,可以使用命令行压缩工具,如:
zip -r archive.zip folder -x "__MACOSX" -x ".*"
或者在 macOS 的命令行用 ditto
压缩,它不会生成这些额外文件:
ditto -c -k --sequesterRsrc --keepParent folder archive.zip
明白!下面给你一份更详细的关于 macOS 系统隐藏文件,特别是 __MACOSX
文件夹及相关隐藏文件(如 .DS_Store
)的全面介绍,以及如何查看、清理和避免它们生成的方法。
macOS隐藏文件详解:__MACOSX
、.DS_Store
及其它元数据文件
1. __MACOSX
文件夹详解
1.1 产生原因
- macOS 支持文件资源叉(Resource Forks)和丰富的元数据(标签、图标位置、权限等)。
- 当使用 Finder 压缩文件夹时,这些额外信息不会直接保存在文件中,而是存放在
__MACOSX
目录里。 - 这样确保解压缩时,macOS 能恢复文件原有的属性和资源。
1.2 目录内容示例
__MACOSX/
└── folder_name/
├── ._filename # 资源叉的隐藏文件
└── .DS_Store # 文件夹的 Finder 配置信息
1.3 其他系统下的表现
- Windows 和 Linux 解压时,会看到这个目录,且内容多为无用的隐藏文件。
- 这些文件对非 macOS 系统没有作用,可以安全删除。
2. .DS_Store
文件详解
.DS_Store
是 macOS Finder 在每个文件夹自动生成的隐藏文件,记录文件夹的视图设置(图标排列、窗口位置、背景图等)。- 这个文件在压缩时也会被包含,导致其他系统用户看到无关文件。
3. 如何查看 macOS 隐藏文件
3.1 终端显示隐藏文件
打开 macOS 终端,输入:
defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder
这会显示所有隐藏文件,包括 .DS_Store
和 __MACOSX
相关文件。
3.2 恢复隐藏
defaults write com.apple.finder AppleShowAllFiles FALSE
killall Finder
4. 如何删除__MACOSX
和 .DS_Store
4.1 删除__MACOSX
文件夹
在终端执行(替换路径):
rm -rf /path/to/unzipped/__MACOSX
4.2 删除所有 .DS_Store
清理用户目录及子目录的所有 .DS_Store
:
find ~ -name ".DS_Store" -delete
5. 如何避免生成这些文件
5.1 压缩时排除
使用 zip
命令压缩时排除隐藏文件:
zip -r archive.zip folder -x "__MACOSX" -x ".*"
5.2 使用 ditto
命令压缩
ditto
是 macOS 原生工具,压缩时不会生成__MACOSX
目录:
ditto -c -k --sequesterRsrc --keepParent folder archive.zip
6. 额外说明
- 这些隐藏文件是 macOS 文件系统设计的一部分,保障了资源完整和用户体验。
- 在跨平台传输文件时,这些文件会造成困扰,建议在分享或备份前清理。
- 有些版本控制系统(如 Git)推荐将
.DS_Store
和__MACOSX
加入.gitignore
。
发表回复