Bzip2
维基百科,自由的百科全书
zh-cn:扩展名;zh-tw:副檔名: | .bz2, .tar.bz2, .tbz2, .tb2 |
---|---|
MIME类型: | application/x-bzip |
开发者: | Julian Seward |
类型码: | Bzp2 |
类型: | 数据压缩 |
bzip2 是 Julian 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 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
[编辑] 参见
- 归档格式列表
- 归档工具列表
- 归档工具比较
- Unix 程序列表
[编辑] 外部链接
- bzip2 与 libbzip2 主页
- 用于 Windows 的 bzip2
- MacBzip2 (for Classic Mac OS; under Mac OS X, the standard bzip2 is available at the command line)
- bzip2smp (用于多处理器或者多内核机器上的 bzip2 并行计算版本)
- 4 Parallel bzip2 Implementations at The Data Compression News Blog