LZMA (Lempel-Ziv-Markov chain-Algorithm) 基於著名的LZ77壓縮算法改進的壓縮/解壓工具,特點:高壓縮率,高解壓速度,低內存消耗,lzma命令行工具使用方式和gzip,bzip2類似,對 已經熟悉gzip,bzip2這類工具的用戶來說,上手並不難。
對比兩大主流壓縮工具:gzip,bzip2:
1,lzma和bzip2在速度上面遠遠輸給gzip,但在壓縮率方面,lzma算法占優勢。
2,lzma擁有比gzip,bzip2更高的壓縮比率,壓縮后文件更小,純文本文件壓縮更加明顯,在解壓方面比bzip2速度快出數倍,對於想要有較高的壓縮率,又不想消耗太多內存,lzma是首先。
3,文件屬性,lzma壓縮和解壓縮能保持文件所有人,權限和修改時間等信息,但是gzip不保存這些信息。
速度: bzip2 < lzma < gzip
壓縮率: gzip < bzip2 < lzma
文件信息:gzip 不保留, bzip2 , lzma 保留
這么看來,好像沒有太多理由再用 bzip2 了?呵呵,不過bzip2仍是我的最愛,目前還沒有辦法一下子接受lzma,
雖然lzma很優秀,但我已經習慣了 tar cjvf 和 tar xjvf 了!
lzma在絕大多數Linux和Unix系統中默認安裝。
幾個主要參數:
-d --decompress --uncompress
指定解壓縮,比如 lzma -d test.lzma,該命令相當於 unlzma test.lzma
-f --force
強制解壓/壓縮,忽略一切問題,比如:目標文件已經存在,直接覆蓋等。
-h --help
顯示幫助
-k --keep
不刪除原始文件,
-t --test
測試,不解壓
-v --verbose
顯示進度等信息,
-z --compress
強制壓縮
用法示例:
壓縮文件:
lzma test.tar
壓縮后生成:lzma.tar.lzma 並且原文件 test.tar會被刪除,要想保留,添加 -k 選項
lzma -k test.tar
解壓:
lzma -d test.tar.lzma 或 unlzma test.tar.lzma
解壓后 test.tar.lzma默認被刪除,如果想保留,添加-k選項,
如果目標文件已經存在,lzma不會覆蓋,而報錯退出執行,
添加 -f忽略:
lzma -kf test.tar
覆蓋已經存在的 lzma.tar.lzma 同時保留原文件 test.tar
解壓:
lzma -dkf test.tar.lzma
覆蓋已經存在的 test.tar 同時保留 test.tar.lzma