bzip2 === 将文件压缩成bz2格式 ## 补充说明 **bzip2命令** 用于创建和管理(包括解压缩)“.bz2”格式的压缩包。我们遇见Linux压缩打包方法有很多种,以下讲解了Linux压缩打包方法中的Linux bzip2命令的多种范例供大家查看,相信大家看完后会有很多收获。 ### 语法 ``` bzip2(选项)(参数) ``` ### 选项 ``` -c或——stdout:将压缩与解压缩的结果送到标准输出; -d或——decompress:执行解压缩; -f或-force:bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖。请使用此参数; -h或——help:在线帮助; -k或——keep:bzip2在压缩或解压缩后,会删除原始文件。若要保留原始文件,请使用此参数; -s或——small:降低程序执行时内存的使用量; -t或——test:测试.bz2压缩文件的完整性; -v或——verbose:压缩或解压缩文件时,显示详细的信息; -z或——compress:强制执行压缩; -V或——version:显示版本信息; --repetitive-best:若文件中有重复出现的资料时,可利用此参数提高压缩效果; --repetitive-fast:若文件中有重复出现的资料时,可利用此参数加快执行效果。 ``` ### 参数 文件:指定要压缩的文件。 ### 实例 **压缩指定文件filename:** ``` bzip2 filename 或 bzip2 -z filename ``` 这里,压缩的时候不会输出,会将原来的文件filename给删除,替换成filename.bz2.如果以前有filename.bz2则不会替换并提示错误(如果想要替换则指定-f选项,例如`bzip2 -f filename`;如果filename是目录则也提醒错误不做任何操作;如果filename已经是压过的了有bz2后缀就提醒一下,不再压缩,没有bz2后缀会再次压缩。 **解压指定的文件filename.bz2:** ``` bzip2 -d filename.bz2 或 bunzip2 filename.bz2 ``` 这里,解压的时候没标准输出,会将原来的文件filename.bz2给替换成filename。如果以前有filename则不会替换并提示错误(如果想要替换则指定`-f`选项,例如`bzip2 -df filename.bz2`。 **压缩解压的时候将结果也输出:** ``` $bzip2 -v filename ``` 输入之后,输出如下: ``` filename: 0.119:1, 67.200 bits/byte, -740.00% saved, 5 in, 42 out. ``` 这里,加上`-v`选项就会输出了,只用压缩举例了,解压的时候同理`bzip2 -dv filename.bz2`不再举例了。 **模拟解压实际并不解压:** ``` bzip2 -tv filename.bz2 ``` 输入之后,输出如下: ``` filename.bz2: ok ``` 这里,`-t`指定要进行模拟解压,不实际生成结果,也就是说类似检查文件,当然就算目录下面有filename也不会有什么错误输出了,因为它根本不会真的解压文件。为了在屏幕上输出,这里加上`-v`选项了,如果是真的解压`bzip2 -dv filename.bz2`则输出的是把"ok"替换成了"done"。 **压缩解压的时候,除了生成结果文件,将原来的文件也保存:** ``` bzip2 -k filename ``` 这里,加上`-k`就保存原始的文件了,否则原始文件会被结果文件替代。只用压缩举例了,解压的时候同理`$bzip2 -dk filename.bz2`不再举例了。 **解压到标准输出:** ``` bzip2 -dc filename.bz2 ``` 输入之后,输出如下: ``` hahahhaahahha ``` 这里,使用`-c`指定到标准输出,输出的是文件filename的内容,不会将filename.bz2删除。 **压缩到标准输出:** ``` bzip2 -c filename bzip2: I won't write compressed data to a terminal. bzip2: For help, type: `bzip2 --help'. ``` 这里,使用`-c`指定压缩到标准输出不删除原有文件,不同的是,压缩后的文件无法输出到标准输出。 **使用bzip2的时候将所有后面的看作文件(即使文件名以'-'开头):** ``` bzip2 -- -myfilename ``` 这里主要是为了防止文件名中`-`产生以为是选项的歧义。