4.7 Linux压缩文件或目录中文件为.bz2格式(bzip2命令)
bzip2 命令同 gzip 命令类似,只能对文件进行压缩(或解压缩),对于目录只能压缩(或解压缩)该目录及子目录下的所有文件。当执行压缩任务完成后,会生成一个以“.bz2”为后缀的压缩包。
".bz2"格式是 Linux 的另一种压缩格式,从理论上来讲,".bz2"格式的算法更先进、压缩比更好;而 ".gz"格式相对来讲的时间更快。
bzip2 命令的基本格式如下:
[root@localhost ~]# bzip2 [选项] 源文件
源文件指的要压缩或解压缩的文件,该命令常用的选项及各自的含义如表 1 所示。
选项 | 含义 |
---|---|
-d | 执行解压缩,此时该选项后的源文件应为标记有 .bz2 后缀的压缩包文件。 |
-k | bzip2 在压缩或解压缩任务完成后,会删除原始文件,若要保留原始文件,可使用此选项。 |
-f | bzip2 在压缩或解压缩时,若输出文件与现有文件同名,默认不会覆盖现有文件,若使用此选项,则会强制覆盖现有文件。 |
-t | 测试压缩包文件的完整性。 |
-v | 压缩或解压缩文件时,显示详细信息。 |
-数字 | 这个参数和 gzip 命令的作用一样,用于指定压缩等级,-1 压缩等级最低,压缩比最差;-9 压缩比最高 |
注意,gzip 只是不会打包目录,但是如果使用“-r”选项,则可以分别压缩目录下的每个文件;而 bzip2 命令则根本不支持压缩目录,也没有“-r”选项。
【例 1】直接压缩文件。
[root@localhost ~]# bzip2 anaconda-ks.cfg
\#压缩成".bz2"格式
此压缩命令会在压缩的同时删除源文件。
【例 2】压缩的同时保留源文件。
[root@localhost ~]# bzip2 -k install.log.syslog
\#压缩
[root@localhost ~]# ls
anaconda-ks.cfg.bz2 install.loginstalLlogsyslog install.logsyslogbz2
\#压缩文件和源文件都存在
十年磨一剑