哪個適用於 linux 的文件壓縮軟體可以最大程度地減少文件大小?
我做了大量的文件壓縮。我壓縮的大部分東西只是程式碼,所以我需要使用少損失壓縮。我想知道是否有任何東西可以提供比 7zip 更好的尺寸減小。壓縮或解壓縮需要多長時間並不重要,大小才是最重要的。有誰知道Linux中有這樣的軟體嗎?還是 7zip 是最好的?
7zip
與其說是壓縮器,不如說是壓縮器(如 PKZIP)。它適用於 Linux,但它只能在正常文件中創建壓縮檔案,例如不能壓縮流。它無法儲存大多數 Unix 文件屬性,如所有權、ACL、擴展屬性、硬連結……在 Linux 上,作為一個壓縮器,你可以使用與(LZMA2)
xz
相同的壓縮算法。7zip
您可以使用它來壓縮 tar 檔案。和 for 一樣
gzip
,bzip2
有一個並行變體pixz
可以利用多個處理器來加速壓縮(xz
也可以從 5.2.0 版本開始本地執行此-T
選項)。該pixz
變體還支持索引壓縮tar
存檔,這意味著它能夠提取單個文件,而無需從一開始就解壓縮文件。
lrzip是您真正需要的,尤其是在您壓縮原始碼時!
引用自述文件:
這是一個針對大文件優化的壓縮程序。文件越大,您擁有的記憶體越多,這將提供更好的壓縮優勢,尤其是當文件大於 100MB 時。優勢可以選擇為大小(比 bzip2 小得多)或速度(比 bzip2 快得多)。
$$ … $$lrzip 的獨特之處在於它始終嘗試充分利用系統中的可用記憶體以獲得最大收益。
lrzip 的工作原理是首先使用基於 rzip 的算法掃描並刪除任何長距離數據冗餘,然後壓縮非冗餘數據。
Con Kolivas在 Linux Kernel Mailing List 中提供了一個很棒的例子;其中他將40 個Linux 核心版本的 10.3GB tarball 壓縮到 163.9MB (1.6%),並且比 xz 更快。他甚至沒有使用最激進的二次算法!
我敢肯定,壓縮大量原始碼 tarball 會取得很好的效果 :)
sudo apt-get install lrzip
範例(對其他選項使用預設值):
超壓縮,狗慢:
lrzip -z file
對於文件夾,只需更改
lrzip
為lrztar