
## 1. **tar** (归档工具，常与其他压缩配合)
```bash
# 仅打包/解包（不压缩）
tar -cvf archive.tar file1 dir1      # 创建归档
tar -xvf archive.tar                 # 解包
tar -tvf archive.tar                 # 查看内容

# 常用组合参数：
# c=创建 x=提取 t=查看 v=显示过程 f=指定文件
```

## 2. **gzip** (.gz)
```bash
# 压缩
gzip file.txt              # 生成 file.txt.gz（删除原文件）
gzip -k file.txt           # 保留原文件
tar -czvf archive.tar.gz dir/    # tar+gzip

# 解压
gunzip file.txt.gz
gzip -d file.txt.gz
tar -xzvf archive.tar.gz
```

## 3. **bzip2** (.bz2)
```bash
# 压缩
bzip2 file.txt             # 生成 file.txt.bz2
bzip2 -k file.txt          # 保留原文件
tar -cjvf archive.tar.bz2 dir/

# 解压
bunzip2 file.txt.bz2
bzip2 -d file.txt.bz2
tar -xjvf archive.tar.bz2
```

## 4. **xz** (.xz)
```bash
# 压缩
xz file.txt                # 生成 file.txt.xz
xz -k file.txt             # 保留原文件
tar -cJvf archive.tar.xz dir/

# 解压
unxz file.txt.xz
xz -d file.txt.xz
tar -xJvf archive.tar.xz
```

## 5. **zip** (.zip)
```bash
# 压缩
zip archive.zip file1 file2 dir/
zip -r archive.zip dir/    # 递归压缩目录

# 解压
unzip archive.zip
unzip -l archive.zip       # 查看内容
unzip -d target_dir archive.zip  # 解压到指定目录
```

## 6. **7z** (.7z)
```bash
# 压缩
7z a archive.7z file1 dir/     # 创建
7z a -t7z -mx=9 archive.7z dir/ # 最高压缩率

# 解压
7z x archive.7z
7z l archive.7z                 # 查看内容

# 支持多种格式：7z, zip, gzip, bzip2, tar, xz等
```

## 7. **rar** (.rar)
```bash
# 压缩
rar a archive.rar file1 dir/

# 解压
unrar x archive.rar         # 保留目录结构
unrar e archive.rar         # 解压到当前目录
```

## 8. **其他格式**
```bash
# Z格式 (.Z)
compress file.txt           # 压缩
uncompress file.txt.Z       # 解压

# lz4 (.lz4)
lz4 file.txt file.txt.lz4   # 压缩
lz4 -d file.txt.lz4 file.txt # 解压

# zstd (.zst)
zstd file.txt               # 压缩
unzstd file.txt.zst         # 解压
tar -I zstd -cvf archive.tar.zst dir/  # tar+zstd
```

## 快速参考表
| 格式 | 压缩命令 | 解压命令 | tar组合 |
|------|----------|----------|----------|
| .tar | `tar -cvf` | `tar -xvf` | - |
| .gz | `gzip` | `gunzip` | `tar -z` |
| .bz2 | `bzip2` | `bunzip2` | `tar -j` |
| .xz | `xz` | `unxz` | `tar -J` |
| .zip | `zip` | `unzip` | - |
| .7z | `7z a` | `7z x` | - |
| .rar | `rar a` | `unrar x` | - |
| .zst | `zstd` | `unzstd` | `tar -I zstd` |

## 实用技巧
```bash
# 1. 查看压缩文件内容而不解压
zcat file.gz            # gzip
bzcat file.bz2          # bzip2
xzcat file.xz           # xz
unzip -l archive.zip    # zip
7z l archive.7z         # 7z

# 2. 测试压缩文件完整性
gzip -t file.gz
bzip2 -t file.bz2
unzip -t archive.zip

# 3. 分卷压缩/解压
zip -s 100m archive.zip large_file  # 分卷100MB
zip -s 0 archive.zip --out single.zip  # 合并分卷

# 4. 排除特定文件
tar -czvf archive.tar.gz --exclude="*.log" dir/
zip -r archive.zip dir/ -x "*.tmp"

# 5. 使用最高压缩率
gzip -9 file.txt        # gzip最高
bzip2 -9 file.txt       # bzip2最高
xz -9 file.txt          # xz最高
7z a -mx=9 archive.7z dir/  # 7z最高
```

## 安装提示
某些工具可能需要安装：
```bash
# Ubuntu/Debian
sudo apt install p7zip-full p7zip-rar rar unrar zstd

# RHEL/CentOS
sudo yum install p7zip p7zip-plugins unrar zstd

# Arch
sudo pacman -S p7zip unrar zstd
```

**建议**：对于日常使用，记住 `tar` 组合命令和 `zip/unzip` 通常就足够了。xz格式通常提供最佳压缩率，而gzip在速度上有优势。