命令介绍

bzip2 命令同 gzip 命令类似,只能对文件进行压缩(或解压缩),对于目录只能压缩(或解压缩)该目录及子目录下的所有文件。当执行压缩任务完成后,会生成一个以.bz2为后缀的压缩包。

“.bz2”格式是 Linux 的另一种压缩格式,从理论上来讲,”.bz2”格式的算法更先进、压缩比更好;而 “.gz”格式相对来讲的时间更快。

命令格式

bzip2 命令的基本格式为: bzip2 [选项] 源文件(源文件指的要压缩或解压缩的文件)

该命令常用的选项及各自的含义如表:

选项 含义 备注
-d 执行解压缩,此时该选项后的源文件应为标记有 .bz2 后缀的压缩包文件。 -
-k bzip2 在压缩或解压缩任务完成后,会删除原始文件,若要保留原始文件,可使用此选项。 -
-f bzip2 在压缩或解压缩时,若输出文件与现有文件同名,默认不会覆盖现有文件,若使用此选项,则会强制覆盖现有文件。 -
-t 测试压缩包文件的完整性。 -
-v 压缩或解压缩文件时,显示详细信息。 -
-数字 这个参数和 gzip 命令的作用一样,用于指定压缩等级,-1 压缩等级最低,压缩比最差;-9 压缩比最高 -

注意:
gzip 只是不会打包目录,但是如果使用“-r”选项,则可以分别压缩目录下的每个文件;而 bzip2 命令则根本不支持压缩目录,也没有“-r”选项。

命令实例

实例一:常规压缩

直接将文件压缩成 .bz2 格式的文件。注意:这里会删除源文件

1
2
3
4
5
6
7
8
9
10
# 压缩前当前目录:
[root@ubuntu2204-101 ~/test2 09:24:49]# ls
centos7-minimal-2009.iso CentOS-7-x86_64-Minimal-2009.iso data.zip.gz file1 user.zip.gz

# 压缩:
[root@ubuntu2204-101 ~/test2 09:24:51]# bzip2 file1

# 压缩后当前目录:
[root@ubuntu2204-101 ~/test2 09:25:04]# ls
centos7-minimal-2009.iso CentOS-7-x86_64-Minimal-2009.iso data.zip.gz file1.bz2 user.zip.gz

实例二:解压缩

参数:-d,解压缩

1
[root@ubuntu2204-101 ~/test2 09:25:05]# bzip2 -d file1.bz2

实例三:递归压缩

参数:-k,压缩时保留源文件:

1
2
3
4
5
[root@ubuntu2204-101 ~/test2 09:26:48]# bzip2 -k file1

查看:
[root@ubuntu2204-101 ~/test2 09:27:20]# ls
centos7-minimal-2009.iso CentOS-7-x86_64-Minimal-2009.iso data.zip.gz file1 file1.bz2 user.zip.gz