Linux中推荐用tar -cjvf一步生成.tar.bz2文件;解压用tar -xjvf;bzip2压缩级别可调(-1最快、-9最高),单文件压缩加-zk保留原文件。

Linux 中要把 tar 归档文件进一步用 bzip2 压缩,本质是两步:先用 tar 打包,再用 bzip2 压缩;但更常用、更高效的做法是一步到位,用 tar 的 -j 选项直接调用 bzip2 完成打包+压缩。
直接生成 .tar.bz2 文件(推荐)
这是最简洁的方式,适用于目录或多个文件:
-
tar -cjvf archive.tar.bz2 directory/—— 将整个目录打包并用 bzip2 压缩 -
tar -cjvf backup.tar.bz2 file1.txt file2.log /etc/hosts—— 打包多个指定文件
其中:
-c 表示创建归档,-j 表示启用 bzip2 压缩,-v 显示过程,-f 指定输出文件名。注意 -f 后必须紧跟文件名,且不能省略。
先 tar 打包,再单独用 bzip2 压缩
适合已有 .tar 文件,想转为高压缩率的 .tar.bz2:
Linux AI 服务器 — 将 Linux 服务器转换为本地 AI 推理集群。使用 systemd、NVIDIA CUDA 实现无头 Linux AI,零 GUI 开销。
- 先生成归档:
tar -cf data.tar folder1/ folder2/ - 再压缩它:
bzip2 data.tar→ 得到data.tar.bz2,原data.tar默认被删除 - 如需保留原始 .tar 文件,加 -k 参数:
bzip2 -k data.tar
解压 .tar.bz2 文件
同样用 tar 命令一步完成:
-
tar -xjvf archive.tar.bz2—— 解压到当前目录 -
tar -xjvf archive.tar.bz2 -C /opt/restore/—— 解压到指定目录(目录需已存在)
注意:-x 是解包,-j 表示使用 bzip2 解压,顺序不敏感,但 -f 仍须紧接文件名。
小技巧:控制压缩强度与保留源文件
bzip2 默认压缩级别为中等(相当于 -6),你可手动调整:
-
tar -cj1vf small.tar.bz2 data/—— -1(--fast):更快,压缩率低 -
tar -cj9vf best.tar.bz2 data/—— -9(--best):更慢,压缩率最高(通常比 -6 小 2%~5%) - 若压缩单个普通文件(非 tar 包),用
bzip2 -zk filename可保留原文件

















