知道什么
- 使用命令选项-c -stdout压缩/解压缩到标准输出和-d-解压缩强迫减压。
- 利用-t-测试检查指定文件的完整性。利用-f -force强制覆盖输出文件。利用-K-保存保留输入文件。
- 利用-s-小降低记忆使用量和-Q- Quiet抑制警告消息。利用-v- verbose至显示文件压缩比。
本文解释了如何使用Linuxbunzip2命令,这是一个块分类文件压缩机,可用于压缩和解压缩数据。当您执行BZIP2命令没有任何选项,该系统默认情况下会压缩数据。bunzip2默认情况下解压缩,并且bzcat解压缩到Stdout。
BUNZIP2 Linux命令选项
bunzip2命令选项列表 | |
---|---|
选项 | 解释 |
-c -stdout | 压缩或解压缩到标准输出。 |
-d-解压缩 | 力压缩。BZIP2,BUNZIP2和BZCAT实际上是同一程序,并且根据使用哪个名称采取哪些操作的决定。该标志覆盖了该机制,并迫使BZIP2解压缩。 |
-Z - 压缩 | 对-d:强制压缩的补充,无论调用名称如何。 |
-t-测试 | 检查指定文件的完整性,但不要解压缩它们。这确实进行了试验减压并丢弃了结果。 |
-f -force | 强制覆盖输出文件。通常,BZIP2不会覆盖现有的输出文件。还强制BZIP2打破与文件的硬链接,否则它不会做到。 BZIP2通常会拒绝解压缩文件,而这些文件没有正确的魔术标头字节。但是,如果强制(-f),它将通过未修改传递此类文件。这就是GNU GZIP的行为方式。 |
-K-保存 | 在压缩或减压期间保留(不要删除)输入文件。 |
-s-小 | 减少记忆使用量,以进行压缩,减压和测试。使用修改后的算法对文件进行解压缩和测试,该算法每块字节仅需要2.5个字节。这意味着任何文件都可以在2300K内存中解压缩,尽管大约是正常速度的一半。 在压缩过程中,-s选择一个200K的块大小,该块大小将内存使用限制为同一图,而以压缩比为代价。简而言之,如果您的计算机在内存(8兆字节或更少)的内存范围内,则可以使用-s。请参阅下面的内存管理。 |
-Q- Quiet | 抑制非必需的警告消息。与I/O错误和其他关键事件有关的消息不会被抑制。 |
-v- verbose | 冗长模式 - 显示处理每个文件的压缩率。进一步 - V提高了详细的水平,散发出大量信息,这些信息主要引起了诊断目的。 |
-l-license | 显示软件版本,许可条款和条件。 |
-v- version | 显示软件版本,许可条款和条件。 |
-1或者-9 | 压缩时,将块大小设置为100 k,200 k .. 900 k。解压缩时没有作用。 即使将所有后续参数视为文件名,即使它们以破折号开头。因此,您可以处理以仪表板开头的名称的文件,例如:BZIP2-- myfileName。 |
- 重复狂欢和- 竞争最佳版本为0.9.5及以上。他们对早期版本中排序算法的行为进行了一些粗略的控制,这有时很有用。0.9.5及以上具有改进的算法,使这些标志无关。
使用人命令((% 男人)查看如何在您的特定计算机上使用命令。
探索BUNZIP2的压缩
BZIP2使用Burrows-wheeler块分类文本压缩算法和Huffman编码来压缩文件。压缩通常,基于更常规的LZ77/LZ78压缩机所实现的要好得多,并处理PPM统计压缩机家族的性能。
命令行选项故意与gnu gzip,但是它们并不完全相同。
BZIP2期望命令行标志附带文件名列表。每个文件被自身的压缩版本替换,名称为“ Original_name.bz2”。每个压缩文件具有相同的修改日期,权限,并在可能的情况下将所有权作为相应的原件,以便可以在减压时间正确恢复这些属性。
何时使用-f标志
文件名处理是天真的,因为没有任何机制可以保留缺乏这些概念或具有严重文件名称长度限制的文件系统中的原始文件名,权限,所有权或日期,例如MS-DOS。
BZIP2和bunzip2默认情况下将不是覆盖现有文件。如果您想发生这种情况,请指定-F旗帜。
如果未指定文件名,BZIP2从标准输入到标准输出压缩。在这种情况下,BZIP2将拒绝将压缩输出写入终端,因为这将是完全难以理解的,因此毫无意义。
bunzip2(或者BZIP2 -D)解压缩所有指定的文件。没有创建的文件BZIP2将被发现和忽略,并发出警告。BZIP2试图从压缩文件中猜测解压缩文件的文件名:如下:
- filename.bz2成为文件名
- filename.bz成为文件名
- fileName.tbz2变为fileName.tar
- filename.tbz变为filename.tar
- Anyothername将变为任何hothername.out
如果文件未在已公认的一个文件扩展-BZ2,BZ,TBZ2或TBZ-BZIP2抱怨它不能猜测原始文件的名称,并将原始名称与。出去附加。
与压缩一样,不提供文件名会导致从标准输入到标准输出的减压。
bunzip2将正确解压缩两个或多个压缩文件的串联文件。结果是相应未压缩文件的串联。完整性测试(-t)也支持串联压缩文件。
使用-c标志进行标准输出
您还可以通过给出来通过给出标准输出的文件-C旗帜。可以这样压缩和解压缩多个文件。结果输出依次馈送到Stdout。以这种方式压缩多个文件会生成一个包含多个压缩文件表示的流。
这样的流只能通过BZIP2版本0.9.0或更高版本。早期版本的BZIP2解压缩流中的第一个文件后将停止。
BZIP2减压
bzcat(或者BZIP2 -DC)将所有指定文件解压缩到标准输出。
BZIP2将从环境变量中读取参数BZIP2和bzip,按照该顺序,并将在命令行读取任何参数之前对其进行处理。这提供了一种提供默认参数的方便方法。
即使压缩文件略大于原始文件,也总是执行压缩。小于100个字节的文件往往会变大,因为压缩机制在50个字节的区域中具有恒定的开销。随机数据(包括大多数文件压缩机的输出)的编码约为每字节8.05位,扩展约为0.5%。
BZIP2和CRC
作为保护您的自我检查,BZIP2使用32位CRC来确保文件的解压缩版本与原始版本相同。这种防御压缩数据的损坏和反对未发现的错误BZIP2(希望非常不可能)。
未发现数据损坏的机会是显微镜,每个处理的文件中有40亿个机会。但是,请注意,检查发生在减压后发生,因此只能告诉您有问题。它无法帮助您恢复原始的未压缩数据。
您可以使用BZIP2RECOVER尝试从损坏的文件中恢复数据。