在Linux操作系统中,文件压缩是日常管理和传输数据的高效方式。本文将详细解析如何通过命令行新建多种格式的压缩包,并附加扩展知识与结构化数据对比。

Linux支持多种压缩格式,以下为核心工具的使用方法:
| 压缩格式 | 工具 | 基础命令 | 典型用例 |
|---|---|---|---|
| .tar.gz(Gzip压缩) | tar + gzip | tar -czvf 文件名.tar.gz 文件/目录 | 打包并压缩日志文件 |
| .tar.bz2(Bzip2压缩) | tar + bzip2 | tar -cjvf 文件名.tar.bz2 文件/目录 | 高压缩比场景 |
| .zip | zip | zip -r 文件名.zip 文件/目录 | 跨平台文件交换 |
| .7z(7-Zip格式) | p7zip | 7z a 文件名.7z 文件/目录 | 极致压缩需求 |
tar命令关键参数说明:
高级示例:排除特定文件后压缩
tar --exclude='*.tmp' -czvf backup.tar.gz /home/user/
| 算法类型 | 压缩率 | 速度 | CPU占用 | 典型场景 |
|---|---|---|---|---|
| gzip | 中等 | 快 | 低 | 日常压缩 |
| bzip2 | 高 | 慢 | 高 | 存储归档 |
| LZMA(7z) | 极高 | 极慢 | 极高 | 网络传输 |
1. 分卷压缩(适用于大文件传输)
zip -r -s 2g archive.zip large_folder # 生成2GB分卷 7z -v2g archive.7z large_file # 7z分卷压缩
2. 加密压缩(增强数据安全)
zip -e secure.zip secret_file # ZIP加密 tar -czvf - folder | openssl enc -e -aes256 -out archive.tar.gz.enc # AES256加密
3. 自动化脚本示例
#!/bin/bash BACKUP_DIR="/var/log/" COMPRESSED_FILE="logs_$(date +%Y%m%d).tar.gz" tar -czf $COMPRESSED_FILE $BACKUP_DIR && \ echo "$(date) - Backup completed: $COMPRESSED_FILE" >> /var/log/backup.log
| 压缩格式 | 解压命令 |
|---|---|
| .tar.gz | tar -xzvf 文件.tar.gz |
| .tar.bz2 | tar -xjvf 文件.tar.bz2 |
| .zip | unzip 文件.zip |
| .7z | 7z x 文件.7z |
注意:实际使用需根据系统环境安装相应工具包(如p7zip-full/bzip2),可通过apt/yum/dnf等包管理器获取。