一、tar 系列(最常用)
| 压缩格式 | 后缀 | 解压命令 | 打包/压缩命令 |
|---|---|---|---|
| 无压缩 | .tar |
tar xf file.tar |
tar cf file.tar dir/ |
| gzip | .tar.gz / .tgz |
tar xzf file.tar.gz |
tar czf file.tar.gz dir/ |
| bzip2 | .tar.bz2 / .tbz2 |
tar xjf file.tar.bz2 |
tar cjf file.tar.bz2 dir/ |
| xz | .tar.xz |
tar xJf file.tar.xz |
tar cJf file.tar.xz dir/ |
| 通用 | .tar.* |
tar xf file.tar.xxx |
tar caf file.tar.xxx dir/ |
二、其他压缩格式
| 压缩格式 | 后缀 | 解压命令 | 打包/压缩命令 |
|---|---|---|---|
| ZIP | .zip |
unzip file.zip |
zip -r file.zip dir/ |
| RAR | .rar |
unrar x file.rar |
rar a file.rar dir/ |
| 7-Zip | .7z |
7z x file.7z |
7z a file.7z dir/ |
| gzip | .gz |
gunzip file.gz |
gzip file |
| bzip2 | .bz2 |
bunzip2 file.bz2 |
bzip2 file |
| xz | .xz |
unxz file.xz |
xz file |
三、常用选项说明
| 选项 | 含义 | 说明 |
|---|---|---|
x |
extract | 解压 |
c |
create | 创建打包 |
f |
file | 指定文件名 |
v |
verbose | 显示详细过程 |
z |
gzip | 使用 gzip 压缩 |
j |
bzip2 | 使用 bzip2 压缩 |
J |
xz | 使用 xz 压缩 |
a |
auto | 自动识别格式 |
p |
preserve | 保留权限属性 |
C |
directory | 指定解压目录 |
四、实际场景示例
| 场景 | 命令 |
|---|---|
| 解压 Buildroot 源码 | tar xf buildroot-2022.02.12.tar.gz |
| 解压根文件系统(保留权限) | sudo tar xpf rootfs.tar.gz -C /nfs/rootfs/ |
| 解压到指定目录 | tar xf file.tar.gz -C /target/dir/ |
| 查看压缩包内容(不解压) | tar tf file.tar.gz |
| 解压 ZIP 到指定目录 | unzip file.zip -d /target/dir/ |
| 解压 RAR(分卷) | unrar x file.part01.rar |
五、常见错误解决
| 错误 | 原因 | 解决方法 |
|---|---|---|
tar: Unrecognized archive format |
文件格式不对 | 用 file xxx 查看真实格式 |
Permission denied |
权限不足 | 加 sudo(根文件系统) |
Cannot open: No such file |
文件名错误 | 检查文件名和路径 |
gzip: stdin: not in gzip format |
不是 gzip 格式 | 用 tar xf 自动识别 |
一句话总结
| 文件类型 | 万能命令 |
|---|---|
.tar / .tar.gz / .tar.bz2 / .tar.xz |
tar xf file.tar.xxx |
.zip |
unzip file.zip |
.rar |
unrar x file.rar |
.7z |
7z x file.7z |