前言
在 Windows 上,我们可以通过 NTFS 压缩功能让文件“原地变小”而不改变使用方式。macOS 虽然底层文件系统(APFS/HFS+)也支持透明压缩,但系统并没有提供图形界面开关。
applesauce 是一个命令行工具,可以调用 macOS 原生压缩能力,实现对文件的透明压缩——压缩后的文件仍在原位置,双击正常打开,但磁盘占用空间显著减小。
什么是透明压缩?
透明压缩与普通压缩的区别:
| 对比项 | 普通压缩(ZIP) | 透明压缩(applesauce) |
|---|---|---|
| 压缩后产物 | 生成新的 .zip 文件 | 原文件本身变小 |
| 使用方式 | 需要解压后才能用 | 双击直接打开 |
| 原文件处理 | 需手动删除原文件 | 原地替换,无需额外操作 |
| 空间释放 | 删除原文件后释放 | 压缩完成立即释放 |
安装方法
方法一:通过 Homebrew 安装(推荐)
brew install applesauce
注意:如果提示
No available formula with the name "applesauce",请使用完整 tap 路径:brew install Dr-Emann/homebrew-tap/applesauce
方法二:一键安装脚本
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Dr-Emann/applesauce/releases/latest/download/applesauce-cli-installer.sh | sh
验证安装
applesauce --version
正常输出示例:applesauce 0.5.3
基本使用
命令格式
applesauce [compress|decompress|info] <文件或文件夹路径>
1. 压缩文件/文件夹
# 使用默认算法压缩单个文件
applesauce compress ~/Documents/我的文档.pdf
# 压缩整个文件夹
applesauce compress ~/Downloads/项目资料/
# 使用 ZLIB 算法(最高压缩率)
applesauce compress -c ZLIB ~/Desktop/大文件.log
2. 查看压缩效果
applesauce info ~/Documents/我的文档.pdf
输出示例:
File: /Users/xxx/Documents/我的文档.pdf
Compressed: Yes
Algorithm: LZFSE
Compression Ratio: 0.62
Original Size: 10.0 MB
Compressed Size: 6.2 MB
3. 解压文件
applesauce decompress ~/Documents/我的文档.pdf
压缩算法选择
| 算法 | 特点 | 适用场景 |
|---|---|---|
LZFSE(默认) |
速度较快,压缩率中等 | 日常使用 |
LZVN |
压缩率较高,Apple 专有 | 追求更高压缩率 |
ZLIB |
压缩率最高,速度较慢 | 归档冷数据 |
指定算法示例:
applesauce compress -c LZVN ~/Desktop/文件.txt
applesauce compress -c ZLIB ~/Desktop/文件.txt
实用技巧
批量压缩特定类型文件
# 压缩所有 .txt 文件
find . -name "*.txt" -exec applesauce compress {} \;
# 压缩所有 .log 文件
find . -name "*.log" -exec applesauce compress {} \;
检查目录下所有文件的压缩情况
find ~/Documents -type f -exec applesauce info {} \;
配合 Hazel 实现自动压缩
在 Hazel 中设置规则:
- 条件:扩展名为
txt、log、md、json - 操作:运行 Shell 脚本
applesauce compress "$1"
注意事项
✅ 适合压缩的文件类型
- 源代码文件(.c, .py, .js, .go 等)
- 日志文件(.log)
- 文本文档(.txt, .md)
- 配置文件(.json, .xml, .yaml)
- PDF 文档(效果视内容而定)
❌ 不适合压缩的文件类型
- 已压缩的图片(.jpg, .png)
- 视频文件(.mp4, .mov)
- 音频文件(.mp3, .aac)
- 已有压缩包(.zip, .7z)
这些文件本身已是压缩格式,再压缩效果甚微,甚至可能变大。
⚠️ 其他提醒
- 压缩是原地替换的,重要文件建议先备份
- 经常修改的文件,每次保存后压缩状态会丢失,需重新压缩
- 不要压缩系统文件和正在运行的应用程序
命令速查表
| 操作 | 命令 |
|---|---|
| 安装 | brew install applesauce |
| 默认压缩 | applesauce compress <文件> |
| ZLIB 压缩 | applesauce compress -c ZLIB <文件> |
| 查看信息 | applesauce info <文件> |
| 解压 | applesauce decompress <文件> |
| 帮助 | applesauce --help |
与 Windows NTFS 压缩对比
| 特性 | Windows NTFS 压缩 | applesauce |
|---|---|---|
| 图形界面 | ✅ 右键属性即可开启 | ❌ 需命令行 |
| 原地压缩 | ✅ | ✅ |
| 系统原生支持 | ✅ | ✅(调用 APFS 能力) |
| 压缩算法选择 | 单一 | 三种可选 |
| 批量处理 | ❌ | ✅ 支持 |
总结
applesauce 是一个轻量、高效、安全的透明压缩工具。虽然需要命令行操作,但使用非常简单——记住 compress、info、decompress 三个命令即可。
对于需要长期保存的文本文档、代码仓库、日志文件等,使用 applesauce 压缩可以节省 20%~60% 的磁盘空间,且不影响日常使用。配合自动化工具(如 Hazel),可以实现特定后缀文件的自动压缩,进一步提升效率。
参考资料
希望这篇博客对你有帮助。如有问题或补充,欢迎交流讨论!