一、概述
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 保留
二、压缩对比
安装lzma
yum install -y lzma
先来看看原始文件
# du -sh mysql 1.1M mysql
使用tar压缩
# tar zcvf mysql.tar mysql # du -sh mysql.tar 132K mysql.tar
使用lzma压缩
# tar -c --lzma -f test.tar.lzma mysql # du -sh test.tar.lzma 88K test.tar.lzma
可以发现,原始文件通过zma压缩后,缩小了12.8倍。
如果需要解压,使用命令
unlzma test.tar.lzma tar xvf test.tar
本文参考链接:
https://www.jianshu.com/p/1b78cd526472