Linux压缩解压完全指南:主流工具安装与高效使用

Linux压缩解压完全指南:主流工具安装与高效使用
引言
在Linux系统中,高效管理文件是每个用户和系统管理员的核心技能。压缩工具不仅能节省存储空间,还能加速文件传输和备份。本文将全面介绍Linux主流发行版中各类压缩解压工具的安装和使用方法,帮助您在不同场景下选择最佳方案。
一、核心工具全景图
各格式工具支持表
格式
压缩工具
解压工具
安装命令 (Debian/Ubuntu)
安装命令 (CentOS/RHEL)
.tar
tar
tar
预装
预装
.gz
gzip
gunzip
预装
预装
.bz2
bzip2
bunzip2
预装
sudo yum install bzip2
.xz
xz-utils
xz
sudo apt install xz-utils
sudo yum install xz
.zip
zip
unzip
sudo apt install zip
sudo yum install unzip zip
.7z
p7zip-full
p7zip-full
sudo apt install p7zip-full
sudo yum install p7zip
.rar
rar
unrar
sudo apt install rar
sudo yum install unrar
.zstd
zstd
zstd
sudo apt install zstd
sudo yum install zstd
不同场景工具推荐
快速压缩:gzip (.gz)
高压缩率:xz (.xz) 或 7z (.7z)
Windows兼容:zip (.zip)
大文件处理:pigz/pbzip2 (多线程工具)
实时压缩:zstd (.zst)
二、工具安装详解
1. 基础工具套装安装(可选,不用全部安装,只需要安装需要的即可)
# Debian/Ubuntu
sudo apt update && sudo apt install -y zip unzip p7zip-full rar unrar zstd
# CentOS/RHEL
sudo yum install -y epel-release
sudo yum install -y zip unzip p7zip rar unrar zstd
# Arch/Manjaro
sudo pacman -S zip unzip p7zip rar unrar zstd
2. 性能增强工具
# 多线程压缩加速器
sudo apt install -y pigz pbzip2 pixz # Debian/Ubuntu
sudo yum install -y pigz pbzip2 pixz # CentOS/RHEL
# Zstandard (Facebook开发的高速压缩)
sudo apt install -y zstd # Debian/Ubuntu
sudo yum install -y zstd # CentOS/RHEL
三、实用命令手册
1. tar: Linux归档基石
创建压缩包:
# .tar.gz (gzip压缩)
tar -czvf archive.tar.gz /path/to/dir
# .tar.xz (xz压缩)
tar -cJvf archive.tar.xz /path/to/dir
# 多线程压缩 (使用pigz)
tar -I pigz -cvf archive.tar.gz /large/dir
解压操作:
# 查看压缩包内容
tar -tf archive.tar.gz
# 解压到当前目录
tar -xzvf archive.tar.gz
# 解压到指定目录
tar -xzvf archive.tar.gz -C /target/path
# 解压部分文件
tar -xzvf archive.tar.gz "path/to/specific/file"
2. zip: 跨平台首选
创建压缩包:
# 基本压缩
zip -r archive.zip /path/to/dir
# 设置加密密码
zip -re secure.zip sensitive_files/
# 最大压缩率
zip -r -9 maximum.zip large_files/
解压操作:
# 基本解压
unzip archive.zip
# 解压到指定目录
unzip archive.zip -d /target/path
# 跳过已存在文件
unzip -n archive.zip
# 查看内容不提取
unzip -l archive.zip
3. 7z: 极致压缩率
安装验证:
7z --version # 应显示p7zip版本
创建压缩包:
# 基本压缩
7z a archive.7z /path/to/dir
# 设置密码加密
7z a -pSECRET -mhe=on encrypted.7z confidential/
# 分卷压缩 (每卷500MB)
7z a -v500m archive.7z large_file.iso
解压操作:
# 基本解压
7z x archive.7z
# 解压到指定目录
7z x archive.7z -o/target/path
# 解压特定文件
7z x archive.7z "*.jpg" -oimages/
4. 性能工具实战
多线程加速:
# 使用pigz压缩 (多核gzip)
tar -I pigz -cvf archive.tar.gz /large/dir
# 使用pbzip2解压 (多核bzip2)
tar -I pbzip2 -xvf large.tar.bz2
# 使用pixz处理xz (并行索引)
tar -Ipixz -cf archive.tar.xz /big/data
Zstandard快速压缩:
# 快速压缩 (level 3)
zstd -3 --rm -T0 -o archive.zst large_file.log
# 解压到标准输出
zstd -cd archive.zst | grep "error"
# 目录压缩
tar -I zstd -cvf dir.tar.zst directory/
四、高级技巧与场景
1. 压缩基准测试
使用不同工具压缩同一文件测试性能:
time tar -czf test.tar.gz 10gb-file.bin
time tar -cjf test.tar.bz2 10gb-file.bin
time tar -cJf test.tar.xz 10gb-file.bin
time 7z a test.7z 10gb-file.bin
time zstd -T0 --rm 10gb-file.bin
2. 常用场景解决方案
场景1:快速备份网站目录
tar -I pigz -cvf $(date +%Y%m%d)_website.tar.gz /var/www/html/
场景2:解压Windows传输的加密ZIP
unzip -P mypassword windows_backup.zip -d ./restored_files
场景3:分割大文件便于传输
7z a -v2g huge_dataset.7z /data/set # 生成2GB分卷
场景4:自动监控解压任务
inotifywait -m -e create /downloads |
while read path action file; do
if [[ "$file" =~ \.tar\.gz$ ]]; then
echo "自动解压: $file"
tar -xzvf "/downloads/$file" -C /uncompressed
fi
done
五、可视化数据分析
压缩工具性能对比
工具
压缩速度 (MB/s)
解压速度 (MB/s)
压缩率
多线程支持
gzip
250
550
2.7:1
❌
pigz
680 (16线程)
900 (16线程)
2.7:1
✅
bzip2
25
130
3.0:1
❌
pbzip2
280 (16线程)
400 (16线程)
3.0:1
✅
xz
8
100
5.0:1
❌
pixz
95 (16线程)
300 (16线程)
5.0:1
✅
zstd
450
1000
2.9:1
✅
测试环境:16核CPU,32GB RAM,NVMe SSD
六、总结与最佳实践
日常使用:zip和tar.gz足够应付大部分需求
高压缩需求:7z提供最佳压缩率
大文件处理:总是使用pigz/pbzip2等并行工具
频繁压缩场景:zstd在速度和压缩率间取得最佳平衡
安全传输:优先使用7z或带密码的zip加密
# 最佳实践命令示例
# 快速压缩:使用zstd
tar -I zstd -cvf project_backup.tar.zst project/
# 最大化压缩:使用7z
7z a -t7z -m0=lzma2 -mx=9 -mfb=64 -md=32m -ms=on secure_backup.7z critical_data
掌握Linux压缩解压工具不仅能提升工作效率,还能在备份、迁移和部署等场景发挥关键作用。建议读者定期尝试新工具,关注压缩技术发展(如新兴的zstd),以保持技能的前沿性。
附加资源:
gzip - gzip: the data compression program - GNU Project - Free Software Foundation
GitHub - powturbo/TurboBench: Compression Benchmark
Zstandard - Real-time data compression algorithm
(Linux压缩解压核心技能:tar与zip从入门到精通)https://www.cnblogs.com/blueBear-19210723/p/18992655