压缩解压
一、归档 vs 压缩(概念区分)
- 归档(Archive):把多个文件/目录打包成一个文件
- 典型工具:
tar
- 典型工具:
- 压缩(Compress):对单个文件进行体积压缩
- 典型算法:
gzip、bzip2、xz、zstd
- 典型算法:
👉 实际常用的是 先归档,再压缩,如:tar.gz、tar.xz
二、最常见格式(重点)
1. .tar.gz / .tgz(最常用)
- 工具:
tar + gzip
# 压缩
tar -czvf data.tar.gz data/
# 解压
tar -xzvf data.tar.gz2. .tar.bz2
- 工具:
tar + bzip2 - 特点:压缩率高,速度慢
# 压缩
tar -cjvf data.tar.bz2 data/
# 解压
tar -xjvf data.tar.bz23. .tar.xz
- 工具:
tar + xz - 特点:压缩率很高,HPC 软件源码常见
# 压缩
tar -cJvf data.tar.xz data/
# 解压
tar -xJvf data.tar.xz4. .tar.zst
- 工具:
tar + zstd - 特点:速度快 + 压缩率高(新一代推荐)
# 压缩
tar --zstd -cvf data.tar.zst data/
# 解压
tar --zstd -xvf data.tar.zst三、单一压缩格式(不打包)
5. .gz
# 压缩
gzip file
# 解压
gunzip file.gz6. .bz2
# 压缩
bzip2 file
# 解压
bunzip2 file.bz27. .xz
# 压缩
xz file
# 解压
unxz file.xz8. .zst
# 压缩
zstd file
# 解压
unzstd file.zst四、Windows / 跨平台常见格式
9. .zip
- 工具:
zip/unzip
# 压缩
zip -r data.zip data/
# 解压
unzip data.zip10. .7z
- 工具:
7z(p7zip)
# 压缩
7z a data.7z data/
# 解压
7z x data.7z11. .rar
- 工具:
unrar
unrar x data.rar(Linux 下通常只解压,不创建)
五、旧式 / 特殊格式(偶尔遇到)
12. .Z(Unix 老格式)
uncompress file.Z13. .cpio
cpio -idv < archive.cpio