在 Windows 上用慣了 7-Zip 和 WinRAR,來到 Mac 卻突然發現沒有類似的工具?Mac 自帶的 Zip 工具確實讓人吐糟無力,壓縮率低就不說了,因為 Mac 上文件名是 Unicode 編碼,到了 GBK 編碼的 Windows 上解壓了文件名全是亂碼有沒有?Mac 上的隱藏文件(.DS_Store,.Spotlight-V100之類)每次都得刪很麻煩有沒有?
總之,用起來很憋屈。盡管有用起來不憋屈的壓縮軟件可以用(比如 Entropy),但是其 ¥123 的價格有點坑爹,而且它的許多功能其實用不上。
有沒有最簡單、免費的方法,給我的 Mac 加個右鍵壓縮?當然,那就是 7-Zip 的 Mac 移植版 —— p7zip。
等等……p7zip 好像是命令行工具?我每次壓縮個文件還得打開終端敲命令么?當然不是,雖然一開始安裝的時候你還是得敲幾條命令,但往后你用它的時候就不用再敲一個字了。這就是一勞永逸。
另外,Windows 上的 WinRAR 可以完美支持 7-Zip 壓縮格式,而且 7-Zip 可以很好地處理文件名編碼的問題,壓縮率和壓縮/解壓縮速度也比 WinRAR 高。另外,7-Zip 是開源的壓縮格式,而 WinRAR 是商業授權的。所以現在看來,除了 Windows 上的習慣,並沒有理由繼續使用 WinRAR。
安裝 p7zip
因為 p7zip 沒有發布 Mac 上的二進制版本,只有源碼包。所以,你需要在你的 Mac 上編譯安裝。別被嚇到了,有了 Homebrew,一切都很簡單。Homebrew 是 Mac 上的一款包管理器,用它可以很方便地下載很多開源命令行工具的源碼包,並編譯安裝到你的 Mac 上。有了它,再加上一點點面對命令行的勇氣,你就可以不花一分錢讓你的 Mac 做更多的事情。
打開終端,輸入這條命令回車,即可安裝 Homebrew:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
接着安裝 p7zip:
brew install p7zip
好了,現在你可以用 7za 命令了:
7za a -m0=LZMA2 -r -x\!.* archive.7z [StuffToArchive]
對命令參數的解釋:
-
a
- 添加到壓縮包
-
-m0=LZMA2
- 壓縮算法及選項,這里指定使用速度又快壓縮率又高的 LZMA2 算法
-
-r
- 包括子目錄及內容
-
-x\!.*
- 排除 Mac 下的隱藏文件,這里驚嘆號代表使用通配符,因為驚嘆號本身和命令行有沖突所以加了一個反斜杠轉義
-
archive.7z
- 要創建的壓縮文件的文件名
-
[SruffToArchive]
- 要壓縮的文件/文件夾,可以輸入多個
更多的 p7zip 命令用法,可以輸入 7za --help
。
添加到 Finder 右鍵菜單
下一步就是把 p7zip 添加到 Finder 的右鍵菜單。這一步是通過 Mac 自帶的 Automator 完成的。用 Automator 可以為 Finder 制作一個服務,這個服務可以獲取你在 Finder 中選擇的文件,用 p7zip 壓縮它們。
下載以下文件解壓,然后把 添加到 7-Zip 壓縮文件.workflow 放進 ~/Library/Services 目錄。現在你可以在 Finder 中選擇一些文件,點擊鼠標右鍵看看。(如果相應的選項沒有出現,你可能需要重新啟動 Finder,在終端中輸入 killall Finder
)
有興趣的話,你可以自己試着在 Automator 里制作這個服務。
解壓工具
至於解壓工具,我推薦 The Unarchiver。這是個免費的,非常簡單的工具,用法和 Mac 自帶的解壓工具一樣。
https://hyjk2000.github.io/2013/10/24/add-instant-file-archiving-for-mac-finder-for-free/