Linux 高压缩率神器 bzip2 超详细教程|bz2 压缩解压一站式掌握 Linux 学习资料 https://pan.baidu.com/s/1A6qqBk2ViE_Le2cQjSowkQ?pwd7uz8一、命令简介bzip2 是一个用于创建和管理 .bz2 格式压缩文件的命令行工具。它采用 Burrows-Wheeler 块排序文本压缩算法和霍夫曼编码通常能提供比基于 LZ77/LZ78 的压缩工具如 gzip更高的压缩率性能接近 PPM 族统计类压缩软件。默认情况下bzip2 会压缩指定文件并使用 .bz2 扩展名替换原始文件。bunzip2 和 bzcat 实际上是 bzip2 的符号链接或硬链接程序会根据被调用的名称自动决定执行压缩、解压缩或输出到标准输出的操作。二、语法格式bash运行bzip2 [选项] [文件...]三、常用选项及说明表格选项长选项说明-c--stdout将压缩或解压缩的数据输出到标准输出保留原始文件。-d--decompress强制解压缩模式。-z--compress强制压缩模式。-t--test测试压缩文件的完整性不实际解压。-f--force强制覆盖已存在的输出文件。-k--keep压缩或解压缩后保留不删除输入文件。-s--small降低内存使用量约 2300K适用于内存较小的环境但会降低速度。-q--quiet抑制非关键的警告信息。-v--verbose显示详细信息。每多一个-v会增加信息详细程度。-L--license显示软件版本和许可证信息。-V--version显示软件版本信息。-1~-9—设置压缩时的块大小100k~900k。数字越大压缩率通常越高但内存消耗也越大。对解压无影响。--—将后续所有参数视为文件名即使它们以-开头。用于处理特殊文件名。四、示例用法1. 基本压缩压缩 file.txt生成 file.txt.bz2 并删除原文件。bash运行bzip2 file.txt2. 强制压缩并覆盖如果 file.txt.bz2 已存在强制覆盖它。bash运行bzip2 -f file.txt3. 保留原文件进行压缩压缩 file.txt同时保留原文件。bash运行bzip2 -k file.txt4. 解压缩文件解压 file.txt.bz2恢复为 file.txt。bash运行bzip2 -d file.txt.bz2 # 或使用专用解压命令 bunzip2 file.txt.bz25. 测试压缩文件完整性检查 archive.bz2 是否完好不实际解压。bash运行bzip2 -t archive.bz26. 输出到标准输出将解压后的内容输出到终端标准输出原压缩文件不变。bash运行bzip2 -dc archive.bz2 # 或使用专用命令 bzcat archive.bz27. 显示压缩过程信息压缩时显示压缩率等信息。bash运行bzip2 -v file.txt输出示例plaintextfile.txt: 0.119:1, 67.200 bits/byte, -740.00% saved, 5 in, 42 out.8. 处理特殊文件名压缩一个以短横线开头的文件 -myfile.txt。bash运行bzip2 -- -myfile.txt9. 使用不同压缩级别使用最大压缩级别9进行压缩这会消耗更多内存和时间。bash运行bzip2 -9 largefile.dat五、注意事项默认行为bzip2 默认会删除原始文件仅保留 .bz2 压缩文件。使用-k选项可以保留原始文件。覆盖文件默认情况下bzip2 不会覆盖已存在的输出文件。使用-f选项可以强制覆盖。标准输入 / 输出当没有指定文件名时bzip2 会从标准输入读取数据并压缩后输出到标准输出。但作为一种安全措施它拒绝将压缩数据直接输出到终端。文件名推断解压时程序会根据后缀自动推断输出文件名.bz2,.bz→ 去除后缀.tbz2,.tbz→ 替换为.tar其他后缀 → 追加.out内存使用更高的压缩级别-1 到 -9会使用更多的内存。在内存受限的系统上可以考虑使用-s选项。返回值理解命令的退出状态有助于脚本编写0: 成功1: 环境问题如文件未找到、选项错误2: 压缩文件损坏3: 内部错误硬链接默认不会破坏文件的硬链接。使用-f选项会强制破坏硬链接。文件系统限制在某些文件系统如 MS-DOS上可能无法保留原始文件的权限、属主和时间戳属性。Linux 学习资料 https://pan.baidu.com/s/1A6qqBk2ViE_Le2cQjSowkQ?pwd7uz8