核心工具:tar
命令
tar
是 Linux 归档文件的基石工具,常与压缩算法结合使用,基本语法:
tar [选项] [压缩文件名] [要压缩的文件夹]
压缩为 .tar.gz
(gzip 格式)
- 高兼容性,平衡速度与压缩率:
tar -czvf 压缩包名.tar.gz 文件夹名/
-c
:创建归档-z
:使用 gzip 压缩-v
:显示进度(可选)-f
:指定文件名(必须放在最后)
示例:tar -czvf project_backup.tar.gz /home/user/project
压缩为 .tar.bz2
(bzip2 格式)
- 更高压缩率,适合存储大文件(速度较慢):
tar -cjvf 压缩包名.tar.bz2 文件夹名/
-j
:启用 bzip2 压缩
示例:tar -cjvf photos.tar.bz2 vacation_photos/
压缩为 .tar.xz
(xz 格式)
- 最高压缩率,节省空间(CPU 占用高):
tar -cJvf 压缩包名.tar.xz 文件夹名/
-J
:启用 xz 压缩
示例:tar -cJvf archive.tar.xz important_docs/
其他工具补充
zip
工具(跨平台兼容)
- 适用于与 Windows/macOS 共享文件:
zip -r 压缩包名.zip 文件夹名/
-r
:递归压缩子目录
示例:zip -r report.zip monthly_report/
7z
工具(超高压缩率)
- 需安装
p7zip
包(sudo apt install p7zip-full
):7z a 压缩包名.7z 文件夹名/
a
:添加文件到压缩包
示例:7z a backup.7z /var/log/
关键注意事项
-
保留原文件夹
所有命令均不会删除原始文件夹,需手动清理避免空间浪费。 -
排除特定文件
使用--exclude
跳过不需要的文件:tar -czvf backup.tar.gz --exclude='*.tmp' --exclude='cache/' data/
-
验证压缩完整性
解压测试防止损坏:tar -tzf backup.tar.gz # 列出 .tar.gz 内容 unzip -t project.zip # 测试 .zip 文件完整性
-
压缩性能权衡
| 格式 | 压缩速度 | 压缩率 | 适用场景 |
|———–|———-|——–|————————|
|.tar.gz
| 中等 | 中等 | 日常备份、快速操作 |
|.tar.bz2
| 慢 | 较高 | 归档长期存储 |
|.tar.xz
| 极慢 | 最高 | 极限节省空间(如镜像) |
|.zip
| 快 | 低 | 跨平台共享 |
总结建议
- 首选
tar
命令:灵活可靠,支持多种压缩算法。 - 跨平台选
zip
:确保 Windows/macOS 用户可直接解压。 - 空间敏感用
xz
:适用于网络传输或磁盘空间紧张的场景。 - 生产环境验证:压缩后务必检查完整性,避免数据损坏风险。
引用说明基于 GNU Tar 官方文档、Linux man-pages 及 Filesystem Hierarchy Standard (FHS) 规范,实践命令已在 Ubuntu 22.04/CentOS 7 测试通过,符合 POSIX 标准。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7555.html