做运维、测试日常工作里,文件归档、日志打包、资源传输几乎离不开压缩解压操作。很多新手只会单一格式命令,遇到不同后缀压缩包就无从下手,权限、递归、分格式踩坑频频出现。
今天一次性讲透zip、tar、tar.gz三类主流 Linux 打包解压命令,附场景化实操示例与避坑要点,拿来就能直接复制使用!
一、zip 格式压缩文件命令
zip 是跨平台兼容性极强的格式,Windows、Linux、macOS 都能直接正常解压,日常跨系统传文件首选。
1. 基础压缩语法
实战示例:
2. 解压语法
实战示例:
高频实用参数
•-q:静默压缩 / 解压,不输出过程日志
•-P:给压缩包设置密码,例如zip -P 123456 -r secure.zip data/
小提醒
部分最小化 Linux 系统默认没装 zip/unzip,CentOS 用yum install zip unzip -y、Ubuntu 用apt install zip unzip -y安装即可。
二、tar 格式压缩文件命令(纯归档,无压缩率)
tar 原本是磁带归档工具,纯打包归档(不做体积压缩),常用来把零散文件整合成一个包,Linux 原生支持度拉满。
核心常用参数
•c:创建新的打包文件
•x:解包操作
•f:指定打包文件名(必须放在所有参数最后)
•v:可视化显示打包 / 解包过程
1. 打包操作
2. 解包操作
适用场景
仅需要把大量零散文件归档整合、不追求缩小文件体积,用于服务器本地长期归档存储。
三、tar.gz 格式压缩文件命令(Linux 最主流高压缩格式)
tar.gz = tar 归档 + gz 压缩,兼顾文件整合和高压缩率,是 Linux 服务日志、程序包最常用的格式,日常使用优先级最高。
新增关键参数
•z:启用 gzip 压缩算法实现体积压缩
1. 压缩打包(tar.gz)
实战示例:
2. 解压 tar.gz 包
实用小技巧
只想查看压缩包里的文件列表不解压,用参数t:
四、三大格式选型对照表
格式 | 优势 | 最佳使用场景 |
zip | 跨平台兼容好、可直接加密 | Windows 和 Linux 互传文件、需要给压缩包设密码 |
tar | 原生归档稳定、保留文件权限 | 服务器本地纯归档整合零散文件,不压缩体积 |
tar.gz | 压缩率高、Linux 原生标配 | 线上日志打包、服务部署包归档,节省磁盘空间 |
五、高频踩坑避坑指南
1.tar命令 f 参数放最后:参数顺序必须zcvf,不能写成zcfv,f后面要紧跟文件名,否则会报错。
2.zip压缩文件夹必须加- r:不加- r 只会打包空文件夹,不会递归里面的子文件。
3.路径空格要加引号:目标文件夹名称带空格时,要用双引号包裹路径,避免命令解析错乱。
4.解压前先看文件结构:先用unzip -l或tar -tvf查看包内结构,防止解压产生大量散落文件打乱目录。
5.权限保留问题:tar 系列命令默认保留 Linux 文件权限,跨系统传输权限敏感文件优先选 tar/tar.gz。
六、全文总结
1.zip:跨平台首选,适合Windows/Linux 互传,支持加密,压缩文件夹一定要加-r;
2.tar:纯归档打包,无压缩效果,侧重文件整合归档,适合服务器本地整理资源;
3.tar.gz:Linux 最常用格式,在 tar 归档基础上做 gzip 高压缩,线上日志、程序包打包优先用它。熟练区分这三类命令,不管是日常日志备份、项目迁移、跨平台文件传输,都能高效完成打包解压操作,大幅减少排错时间!
干货福利
需要我整理一份zip/tar/tar.gz打包解压速查命令表吗?评论区回复【压缩】,就能免费领取,工作场景直接复制套用!