跳转到内容

bzip2

维基百科,自由的百科全书

bzip2
扩展名
.bz2, .tar.bz2, .tbz2, .tb2
互联网媒体类型
application/x-bzip
类型代码英语Type codeBzp2
开发者Julian Seward
格式类型数据压缩
bzip2
開發者Julian Seward
当前版本1.0.8(2019年7月13日,​5年前​(2019-07-13
源代码库 編輯維基數據鏈接
操作系统跨平台
类型数据压缩
许可协议BSD許可證[1]
网站bzip.org 编辑维基数据

bzip2Julian Seward开发并按照自由软件开源软件协议发布的数据压缩算法及程序。Seward在1996年7月第一次公开发布了bzip2 0.15版,在随后几年中这个压缩工具稳定性得到改善并且日渐流行,Seward在2000年晚些时候发布了1.0版。

压缩效率

bzip2比传统的gzip或者ZIP的压缩效率更高,但是压缩速度较慢。从这点来说,非常类似于較新的压缩算法。与RAR或者ZIP等其它不同的是,bzip2只是数据压缩工具,而不是归档工具,在这一点与gzip类似。程序本身不包含用于多个文件、加密或者文档切分的工具,相反按照UNIX的传统需要使用如tar或者GnuPG这样的外部工具。

在有些情况下,按照绝对压缩效率来讲bzip2不如7z和RAR格式。根据摩尔定律的持续效应,计算时间越来越少并且也变得越来越不重要,所以类似的压缩方法变得越来越流行。根据作者的说法,在目前所有已知的压缩算法中,bzip2可以排到百分之十到十五这样最好的一类算法中(PPM),尽管它在压缩速度时大致快两倍,而解压速度有六倍快。

bzip2使用Burrows-Wheeler transform将重复出现的字符序列转换成同样字母的字符串,然后用move-to-front变换进行处理,最后使用哈夫曼编码进行压缩。在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.bz2File:

tar -cvjf ''archivefile''.tar.bz2 ''file-list''

解压GNU tar文件可以使用:

 tar -xvjf ''archivefile''.tar.bz2

参见

外部链接

參考來源

  1. ^ bzip2 : Home. Julian Seward. [2008-09-27]. (原始内容存档于2006-12-25). Why would I want to use it? [..] Because it's open-source (BSD-style license), and, as far as I know, patent-free.