1、命令简介
bzip2 :压缩或解压缩指定文件。
2、命令用法
bzip2 [optinos] [filenames ...]
3、命令描述
与gzip
相比,bzip2
创建的存档更小,但解压时间更慢,占用的内存更多。bzip2
使用Burrows-Wheeler块排序文本压缩算法和Huffman编码来压缩文件。提供的命令行选项与GNU gzip非常相似,但它们并不完全相同。bzip2
需要一个文件名列表以及命令行标志。每个文件都被其本身的压缩版本替换,其名称为original_name.bz2
。每个压缩文件都具有相同的修改日期、权限,如果可能的话,还具有与相应的原始文件相同的所有权,这样就可以在解压时正确地恢复这些属性。
文件名处理是简单的,因为在缺乏这些概念或有严重的文件名长度限制(如MS-DOS)的文件系统中,没有机制来保存原始文件名、权限、所有权或日期。默认情况下,bzip2
和bunzip2
不会覆盖现有文件。要覆盖,请指定-f
标志。
4、命令选项
选项 | 描述 |
-c --stdout | 压缩或解压缩到标准输出。 |
-d --decompress | 执行解压缩 |
-z --compress | 强制执行压缩 |
-t --test | 检查指定文件的完整性, 但不要解压缩它们。 这实际上执行了一次试解压缩并丢弃了结果。 |
-f --force | 强制覆盖输出文件。 通常,bzip2不会覆盖现有的输出文件。 还强制bzip2中断到文件的硬链接, 否则它不会这样做。 Bzip2通常拒绝解压 那些没有正确的magic header bytes的文件。 但是,如果强制( 它将不修改地通过这些文件。 这就是GNU gzip的行为方式。 |
-k --keep | 在压缩或解压缩过程中保留(不要删除)输入文件。 |
-s --small | 减少内存使用,用于压缩,解压缩和测试。 文件解压和测试使用一个修改的算法, 每块字节只需要 也就是任何文件都可以在2300k的内存中解压, 尽管速度只有正常速度的一半。 在压缩过程中, 这将内存使用限制在相同的数字, 而牺牲了压缩比。简而言之, 如果您的机器内存不足(8兆或更少), 那么所有东西都使用 |
-q --quiet | 抑制非必要的警告消息。 与I/O错误和其他关键事件有关的消息将不会被抑制。 |
-v --verbose | 详细模式:显示所处理的每个文件的压缩比。 这些信息主要是出于诊断目的。 |
-L --license -V --version | 显示软件版本、license条款和条件。 |
-1 (或 --fast) to -9 (或 -best) | 设置块大小为100k, 200k…压缩时900k。 解压时没有效果。 特别是, |
-- | 将所有后续参数视为文件名, 即使它们以破折号开头。 这样就可以处理以破折号开头的文件, 例如: |
--repetitive-fast, -repetitive-best | 这些标志在0.9.5及以上版本中是多余的。 他们在早期版本中对排序算法的行为提供了一些粗略的控制,
|
5、使用示例
1)压缩文件
$ bzip2 sample.txt $ ls sample.txt.bz2
2)要压缩文件sample.txt并保留未压缩版本并创建新文件。
$ bzip2 -k sample.txt $ ls sample.txt sample.txt.bz2
3)使用tar将一组文件合并成一个文件并使用bzip2将结果压缩。
$ tar -cf code.tar 1.c 2.c 3.c $ bzip2 code.tar $ ls 1.c 2.c 3.c code.tar.bz2
4)使用tar实现合成一个文件并压缩
$ tar -cjf code.tar 1.c 2.c 3.c $ ls code.tar.bz2 1.c 2.c 3.c