一、压缩基础概念
压缩原理
通过去除文件冗余数据(如重复字符、无用元数据)减小体积,分为无损压缩(完全恢复原始数据,如文本文件)和有损压缩(牺牲部分质量,如图片/视频)。
示例:
文本文件通过字典编码替换高频字符(如“中国”→“中”)。
图片通过色值量化减少颜色深度。
文件系统限制
FAT32:单文件最大4GB,需分卷压缩或使用exFAT。
NTFS:支持透明压缩,但压缩大文件(>30GB)可能失败。
二、常用压缩工具与命令
- Linux命令行工具
工具 特性 典型命令示例 来源
gzip 压缩速度快,压缩比中等(-9最高) gzip -9 file.txt
bzip2 压缩比更高(比gzip高15%-25%),速度较慢 bzip2 -k file.txt(保留原文件)
tar 打包工具,常与gzip/bzip2组合使用 tar -czvf archive.tar.gz dir/ - 跨平台工具
zip/unzip:兼容Windows/Mac,适合多系统协作。
WinRAR/7-Zip:支持分卷压缩、自解压文件及加密。
分卷压缩示例(WinRAR):
右键文件 → 添加到压缩包 → 设置分卷大小(如2GB)→ 勾选“创建自解压格式”。
三、高级压缩技巧
优化压缩比
调整压缩级别:7z a -mx=9 archive.7z files(7-Zip最高压缩)。
清理文件冗余:删除Word网页修订记录、图片隐藏图层等。
转换文件格式:将BMP转为JPEG(有损压缩+后续压缩)。
性能优化
选择压缩块大小:大文件(如视频)使用更大块(如64MB)提升解压速度。
并行压缩:启用多线程(如pigz替代gzip)。
四、文件系统级压缩
NTFS透明压缩
通过compact命令启用:
bash
compact /c /s:“C:\data” /a /i /q # 压缩C盘data目录
优点:无需额外工具,但压缩大文件可能失败。
Linux磁盘配额压缩
结合quota与gzip实现存储空间动态管理。
五、注意事项
兼容性问题
避免混合使用不同压缩格式(如.zip内嵌.rar)。
FAT32分区需用exFAT或分卷压缩处理大文件。
安全性
加密压缩包时使用强密码(如AES-256)。
避免压缩已损坏文件,防止解压错误。
六、典型场景应用
日志备份
bash
tar -czvf logs_$(date +%F).tar.gz /var/log/nginx/ # 每日日志压缩归档
跨平台传输
bash
zip -r project.zip ./web_design/ # Windows/Mac通用压缩
大文件分发
使用WinRAR分卷压缩为file.part1.rar、file.part2.rar等。