一、tar(Linux 最核心,打包 + 压缩一体)
作用 :本身只打包 ,配合 gzip/bzip2/xz 实现压缩,后缀常见: .tar(仅打包)、.tar.gz/.tgz(gzip 压缩)、.tar.bz2、.tar.xz
1. 必记核心参数(通用)
表格
| 参数 | 含义 |
|---|---|
-c |
**创建(create)**新压缩包(压缩) |
-x |
解压提取(extract)文件 |
-v |
显示详细过程(verbose) |
-f |
指定压缩包文件名(必须放最后) |
-t |
查看压缩包内容(不解压) |
-C |
指定解压到目标目录 |
2. 压缩格式专属参数
表格
| 参数 | 压缩算法 | 后缀 | 特点 |
|---|---|---|---|
-z |
gzip | .tar.gz |
速度快、最常用 |
-j |
bzip2 | .tar.bz2 |
压缩率更高、稍慢 |
-J |
xz | .tar.xz |
压缩率最高、最慢 |
3. 完整用法 + 示例
(1)打包(不压缩,仅 tar)
bash
运行
# 打包目录/文件 为 test.tar
tar -cvf test.tar 目录名/文件名
# 查看包内容
tar -tvf test.tar
# 解压 tar 包
tar -xvf test.tar
(2).tar.gz/.tgz(最常用)
压缩
bash
运行
tar -zcvf 压缩包名.tar.gz 目标文件/目录
# 示例:把 dir 压缩为 dir.tar.gz
tar -zcvf dir.tar.gz dir/
解压
bash
运行
tar -zxvf 压缩包名.tar.gz
# 解压到指定目录 /tmp
tar -zxvf dir.tar.gz -C /tmp
(3).tar.bz2
压缩
bash
运行
tar -jcvf 压缩包名.tar.bz2 目标
解压
bash
运行
tar -jxvf 压缩包名.tar.bz2
(4).tar.xz
压缩
bash
运行
tar -Jcvf 压缩包名.tar.xz 目标
解压
bash
运行
tar -Jxvf 压缩包名.tar.xz
简写习惯:日常很多人省略
-,如tar zcvf xxx.tar.gz也可执行。
二、gzip /gunzip(单文件压缩,不打包目录)
后缀:.gz 只能压缩单个文件 ,不能直接压目录,会删除原文件。
gzip 压缩
bash
运行
# 基础压缩(原文件变 xxx.gz)
gzip 文件名
# -9 最高压缩率(1-9,默认6)
gzip -9 file.txt
# -c 保留原文件,输出到新压缩包(常用)
gzip -c file.txt > file.txt.gz
gunzip 解压(等价 gzip -d)
bash
运行
# 解压,删除 .gz
gunzip file.txt.gz
# 或
gzip -d file.txt.gz
# 解压保留原压缩包
gunzip -c file.txt.gz > file.txt
三、bzip2 /bunzip2(.bz2 格式)
压缩率 > gzip,速度更慢,同样单文件。
压缩
bash
运行
bzip2 文件名
bzip2 -9 文件名 # 最高压缩
解压
bash
运行
bunzip2 文件名.bz2
# 或
bzip2 -d 文件名.bz2
四、xz(.xz 格式,高压缩率)
后缀 .xz,压缩率最优,大文件常用。
压缩
bash
运行
xz 文件名
xz -9 文件名
解压
bash
运行
xz -d 文件名.xz
# 或
unxz 文件名.xz