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 慢,但压缩率更高,适合压缩大文件(如数据库备份、日志文件等)。
相关推荐
匆匆整棹还2 小时前
vscode突然无法连接远程服务器问题
服务器·vscode
不染尘.2 小时前
应用层之HTTP
服务器·网络·网络协议·计算机网络·http
踏浪无痕2 小时前
夜莺告警引擎内核:一个优雅的设计
运维·后端·go
爱吃生蚝的于勒2 小时前
【Linux】深入理解软硬链接
linux·运维·服务器·c语言·数据结构·c++·算法
djxbbdjedhb2 小时前
Linux应用学习-读取jpg显示在LCD上
linux·学习
程序终结者2 小时前
CDH6.3.2集群docker容器化离线部署客户端parcel+配置全流程详解
运维·docker·容器
全栈工程师修炼指南3 小时前
Nginx | HTTP 反向代理:当缓存失效时如何减轻后端(上游)服务压力?
运维·网络协议·nginx·http·缓存
prettyxian3 小时前
【Linux】内核编织术:task_struct的动态网络
linux·运维·服务器
Danileaf_Guo3 小时前
OSPF路由引入的陷阱:为何Ubuntu上静态路由神秘消失?深挖FRR路由分类机制
linux·运维·网络·ubuntu·智能路由器