在 CentOS(或其他 Linux 系统)中,想要压缩文件以节省空间,常用的方法有以下几种,按“压缩率”和“速度”不同而选择:
tar + gzip(最常用)优点:兼容性好,速度快
压缩率:中等
# 压缩
tar -zcvf 文件名.tar.gz 目录或文件
# 解压
tar -zxvf 文件名.tar.gz
示例:
tar -zcvf backup.tar.gz /data
tar + bzip2(压缩率更高)优点:比 gzip 更省空间
缺点:速度慢
# 压缩
tar -jcvf 文件名.tar.bz2 目录或文件
# 解压
tar -jxvf 文件名.tar.bz2
tar + xz(最省空间)优点:压缩率最高
缺点:非常慢
# 压缩
tar -Jcvf 文件名.tar.xz 目录或文件
# 解压
tar -Jxvf 文件名.tar.xz
zip(跨平台)适合:Windows / Linux 共享文件
# 压缩
zip -r 文件名.zip 目录
# 解压
unzip 文件名.zip
7z(极高压缩率)需要安装:
yum install p7zip p7zip-plugins -y
# 压缩
7za a 文件名.7z 目录
# 解压
7za x 文件名.7z
✅ 只压缩大文件或日志
tar -zcvf logs.tar.gz /var/log/*.log
✅ 删除原文件(谨慎)
rm -rf /var/log/*.log
✅ 压缩并删除原目录
tar -zcvf data.tar.gz data && rm -rf data
✅ 查看压缩前后大小
du -sh 目录
du -sh 文件.tar.gz
| 需求 | 推荐方式 |
|---|---|
| 日常备份 | tar.gz |
| 最大压缩 | tar.xz 或 7z |
| 跨平台 | zip |
| 日志归档 | tar.gz |
如果你有具体场景(比如:日志、数据库、Docker、备份服务器),我可以给你更合适的命令方案。