概述
bzip2 是 Linux/Unix 系统中一款高压缩比的文件压缩工具 ,采用 Burrows-Wheeler 算法,压缩率通常优于 gzip,对应的压缩文件后缀为 .bz2,配套解压工具为 bunzip2。
资料合集:https://pan.quark.cn/s/6fe3007c3e95、https://pan.quark.cn/s/561de99256a5、https://pan.quark.cn/s/985f55b13d94、https://pan.quark.cn/s/d0fb20abd19a
核心功能
- 压缩单个文件为
.bz2格式,默认删除原文件。 - 可通过选项控制压缩级别、保留原文件、强制覆盖等。
- 配套的
bunzip2工具用于解压.bz2文件,bzip2 -d与bunzip2效果完全一致。
基本语法
bash
# 压缩文件
bzip2 [选项] 文件名
# 解压文件(两种等价方式)
bunzip2 [选项] 文件名.bz2
bzip2 -d [选项] 文件名.bz2
常用选项
| 选项 | 作用 |
|---|---|
-d |
解压模式,等同于 bunzip2 |
-k |
压缩/解压时保留原文件(默认删除原文件) |
-f |
强制覆盖已存在的目标文件 |
-v |
显示压缩/解压的详细信息(文件大小、压缩比等) |
-1 ~ -9 |
设置压缩级别,-1 最快压缩率最低,-9 最慢压缩率最高,默认 -6 |
-c |
将压缩/解压内容输出到标准输出(终端),不修改原文件 |
典型用法
一、 压缩操作
-
基础压缩
压缩单个文件,生成
.bz2压缩包,原文件被删除:bashbzip2 test.txt # 执行后生成 test.txt.bz2,test.txt 被删除 -
保留原文件压缩
使用
-k选项,压缩后原文件不会被删除:bashbzip2 -k test.txt # 生成 test.txt.bz2,test.txt 保留 -
指定压缩级别
用
-9追求最高压缩率(适合对压缩率要求高、不介意耗时的场景):bashbzip2 -9 -k large_file.dat -
压缩内容输出到标准输出
配合重定向,自定义压缩包名称且保留原文件:
bashbzip2 -c test.txt > custom_name.bz2
二、 解压操作
bzip2 本身支持解压,也可以用专用工具 bunzip2,两者用法一致。
-
基础解压
bash# 方式1:用 bunzip2 bunzip2 test.txt.bz2 # 方式2:用 bzip2 -d bzip2 -d test.txt.bz2 # 两种方式均生成 test.txt,原压缩包被删除 -
保留压缩包解压
bashbunzip2 -k test.txt.bz2 # 或 bzip2 -dk test.txt.bz2 -
显示解压详情
bashbunzip2 -v test.txt.bz2 # 输出示例: test.txt.bz2: done
注意事项
bzip2只能压缩单个文件 ,无法直接压缩目录。若要压缩目录,需先通过tar打包,再用bzip2压缩,最终生成.tar.bz2(或简写.tbz2)格式文件。- 解压
.tar.bz2文件时,推荐用tar一步完成:tar -jxvf filename.tar.bz2。 bzip2压缩速度比gzip慢,但压缩率更高,适合压缩大文件(如数据库备份、日志文件等)。