bz2
数据压缩算法及程序
bzip2是Julian Seward开发并按照自由软件/开源软件协议发布的数据压缩算法及程序。Seward在1996年7月第一次公开发布了bzip2 0.15版,在随后几年中这个压缩工具稳定性得到改善并且日渐流行,Seward在2000年晚些时候发布了1.0版。
简介
linux下常见的压缩文件格式,是由具有高压缩率的压缩工具bzip2生成,以后缀为.bz2结尾的压缩文件。
对应的解压程序是bunzip2
在windows下,可以使用WinMountwinrar等来打开bz2文件。
压缩工具
bzip2 是一个基于Burrows-Wheeler 变换的无损压缩软件,压缩效果比传统的LZ77/LZ78压缩演算法来得好。它免费提供,具有高质量的数据压缩能力。bzip2 利用先进的压缩技术,能够把文件压缩到10%至15%,压缩的速度和解压的效率都非常高!支持大多数压缩格式,包括tar、gzip 等等。
当前最新的版本是1.0.5 ,公布2008年4月17日。
优点
1、能够很好的进行文件压缩。这样你就可以把硬盘中冗余繁多的文件,打包压缩整理。在网络上传送文件的时候,可以用bzip2打包压缩文件,以减少传送时间,提高效率。虽然bzip2不是最快的压缩工具,但是它已经足够的快且足够的好用。
2、它开放源码,且无需付费使用。
3、支持修复介质错误。当你需要从包含了一些错误数据的备份磁盘上,修复或者获得含有错误数据的压缩文件中的数据时,bzip2仍能解压出没有被破坏的部分。
4、和gzip的用法类似
5、这是一款轻量级的工具。 它可以运行在任何含有ANSI C编译器的32位或者64位的主机上。
压缩效率
bzip2比传统的gzip或者ZIP的压缩效率更高,但是它的压缩速度较慢。从这点来说,它非常类似于出现的其它一些压缩算法。与RAR或者ZIP等其它不同的是,bzip2只是一个数据压缩工具,而不是归档工具,在这一点上它与gzip类似。程序本身不包含用于多个文件、加密或者文档切分的工具,相反按照UNIX的传统需要使用如tar或者GnuPG这样的外部工具。
在有些情况下,按照绝对压缩效率来讲bzip2不如7z和RAR格式。根据摩尔定律的持续效应,计算时间越来越少并且也变得越来越不重要,所以类似的压缩方法变得越来越流行。根据作者的说法,在所有已知的压缩算法中,bzip2可以排到百分之十到十五这样最好的一类算法中(PPM),尽管它在压缩速度时大致快两倍,而解压速度有六倍快。
bzip2使用Burrows-Wheeler transform将重复出现的字符序列转换成同样字母的字符串,然后用move-to-front transform进行处理,最后使用哈夫曼编码进行压缩。在bzip2中所有的数据块都是大小一样的纯文本数据块,它们可以用命令行变量进行选择,然后用从π的十进制表示得到的一个任意位序列标识成压缩文本。
起初,bzip2的前一代bzip在数据块排列之后使用算术编码进行压缩,由于软件专利的限制已经不再使用算术编码。
使用方法
Unix系统下,bzip2可以独立使用也可以与tar一起使用。bzip2 file压缩文件,bzip2 -d file-bz2解压文件,解压也可以使用另外一个名字bunzip2。 bzip2的命令行标志大部分与gzip相同,所以,从tar文件解压bzip2压缩的文件可以用:
bzcat ''archivefile''.tar-bz2 | tar -xvf -
生成bzip2压缩的tar文件可以使用:
tar -cvf - ''filenames'' | bzip2 > ''archivefile''.tar-bz2
GNU tar支持 -j标志,这就可以不经过管道直接生成tar-bz2文件:
tar -cvjf ''archivefile''.tar-bz2 ''file-list''
解压GNU tar文件可以使用:
tar -xvjf ''archivefile''.tar-bz2
参考资料
最新修订时间:2024-05-21 17:30
目录
概述
简介
压缩工具
参考资料