Linux 命令:bzip2

概述

bzip2 是 Linux/Unix 系统中一款高压缩比的文件压缩工具 ,采用 Burrows-Wheeler 算法,压缩率通常优于 gzip,对应的压缩文件后缀为 .bz2,配套解压工具为 bunzip2

资料合集:https://pan.quark.cn/s/6fe3007c3e95https://pan.quark.cn/s/561de99256a5https://pan.quark.cn/s/985f55b13d94https://pan.quark.cn/s/d0fb20abd19a

核心功能

  • 压缩单个文件为 .bz2 格式,默认删除原文件。
  • 可通过选项控制压缩级别、保留原文件、强制覆盖等。
  • 配套的 bunzip2 工具用于解压 .bz2 文件,bzip2 -dbunzip2 效果完全一致。

基本语法

bash 复制代码
# 压缩文件
bzip2 [选项] 文件名

# 解压文件(两种等价方式)
bunzip2 [选项] 文件名.bz2
bzip2 -d [选项] 文件名.bz2

常用选项

选项 作用
-d 解压模式,等同于 bunzip2
-k 压缩/解压时保留原文件(默认删除原文件)
-f 强制覆盖已存在的目标文件
-v 显示压缩/解压的详细信息(文件大小、压缩比等)
-1 ~ -9 设置压缩级别,-1 最快压缩率最低,-9 最慢压缩率最高,默认 -6
-c 将压缩/解压内容输出到标准输出(终端),不修改原文件

典型用法

一、 压缩操作
  1. 基础压缩

    压缩单个文件,生成 .bz2 压缩包,原文件被删除:

    bash 复制代码
    bzip2 test.txt
    # 执行后生成 test.txt.bz2,test.txt 被删除
  2. 保留原文件压缩

    使用 -k 选项,压缩后原文件不会被删除:

    bash 复制代码
    bzip2 -k test.txt
    # 生成 test.txt.bz2,test.txt 保留
  3. 指定压缩级别

    -9 追求最高压缩率(适合对压缩率要求高、不介意耗时的场景):

    bash 复制代码
    bzip2 -9 -k large_file.dat
  4. 压缩内容输出到标准输出

    配合重定向,自定义压缩包名称且保留原文件:

    bash 复制代码
    bzip2 -c test.txt > custom_name.bz2
二、 解压操作

bzip2 本身支持解压,也可以用专用工具 bunzip2,两者用法一致。

  1. 基础解压

    bash 复制代码
    # 方式1:用 bunzip2
    bunzip2 test.txt.bz2
    # 方式2:用 bzip2 -d
    bzip2 -d test.txt.bz2
    # 两种方式均生成 test.txt,原压缩包被删除
  2. 保留压缩包解压

    bash 复制代码
    bunzip2 -k test.txt.bz2
    # 或
    bzip2 -dk test.txt.bz2
  3. 显示解压详情

    bash 复制代码
    bunzip2 -v test.txt.bz2
    # 输出示例: test.txt.bz2: done

注意事项

  1. bzip2 只能压缩单个文件 ,无法直接压缩目录。若要压缩目录,需先通过 tar 打包,再用 bzip2 压缩,最终生成 .tar.bz2(或简写 .tbz2)格式文件。
  2. 解压 .tar.bz2 文件时,推荐用 tar 一步完成:tar -jxvf filename.tar.bz2
  3. bzip2 压缩速度比 gzip 慢,但压缩率更高,适合压缩大文件(如数据库备份、日志文件等)。
相关推荐
zfxwasaboy1 天前
DRM KMS 子系统(4)Planes/Encoder/Connector
linux·c语言
暮色_年华1 天前
随想 2:对比 linux内核侵入式链表和 STL 非侵入链表
linux·c++·链表
好学且牛逼的马1 天前
【工具配置|docker】
运维·docker·容器
dnncool1 天前
【Linux】操作系统发展
linux
文言一心1 天前
LINUX离线升级 Python 至 3.11.9 操作手册
linux·运维·python
北邮刘老师1 天前
A3C Network:智能体互联网的层次化视图
运维·服务器·网络
XRJ040618xrj1 天前
如何在Linux中根据物理网卡建立虚拟网卡
linux·服务器·网络
空中楼阁,梦幻泡影1 天前
LoRA 详细解析,使用LoRA 方式对模型进行微调详细操作指南
运维·服务器·人工智能·机器学习·语言模型
码农水水1 天前
蚂蚁Java面试被问:混沌工程在分布式系统中的应用
java·linux·开发语言·面试·职场和发展·php