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