tar-compressionlisted
Install: claude install-skill ryukyagamilight/terminal-skills
# 归档与压缩
## 概述
tar/gzip/xz 归档压缩、分卷备份技能。
## tar 基础
### 创建归档
```bash
# 创建 tar 归档
tar -cvf archive.tar /path/to/dir
# 创建并 gzip 压缩
tar -czvf archive.tar.gz /path/to/dir
# 创建并 bzip2 压缩
tar -cjvf archive.tar.bz2 /path/to/dir
# 创建并 xz 压缩
tar -cJvf archive.tar.xz /path/to/dir
# 多个目录/文件
tar -czvf archive.tar.gz dir1 dir2 file1.txt
```
### 解压归档
```bash
# 解压 tar
tar -xvf archive.tar
# 解压 gzip
tar -xzvf archive.tar.gz
# 解压 bzip2
tar -xjvf archive.tar.bz2
# 解压 xz
tar -xJvf archive.tar.xz
# 解压到指定目录
tar -xzvf archive.tar.gz -C /target/dir
```
### 查看内容
```bash
# 列出内容
tar -tvf archive.tar
tar -tzvf archive.tar.gz
# 搜索文件
tar -tzvf archive.tar.gz | grep "filename"
```
### 常用选项
```bash
# 排除文件/目录
tar -czvf archive.tar.gz --exclude='*.log' --exclude='cache' /path
# 从文件读取排除列表
tar -czvf archive.tar.gz --exclude-from=exclude.txt /path
# 保留权限
tar -czvf archive.tar.gz --preserve-permissions /path
# 增量备份
tar -czvf archive.tar.gz --newer='2024-01-01' /path
```
## 压缩工具
### gzip
```bash
# 压缩
gzip file.txt # 生成 file.txt.gz,删除原文件
gzip -k file.txt # 保留原文件
gzip -9 file.txt # 最高压缩率
# 解压
gunzip file.txt.gz
gzip -d file.txt.gz
# 查看压缩文件
zcat file.txt.gz
zless file.txt.gz
zgrep "pattern" file.txt.gz
```
### bzip2
```bash
# 压缩
bzip2 file.txt
bzip2 -k file.txt # 保留原文件
bzip2 -9 file.txt # 最高压缩率
# 解压
bunzip2 file.txt.bz2
bzip2 -d file.txt.bz2
# 查看
bzcat file.txt.bz2
```
### xz
```bash
# 压缩
xz file.txt
xz -k file.txt # 保留原文件
xz -9 fi