当前位置: 首页 > news >正文

Linux压缩解压实战指南:tar、gzip、zip 完整操作清单

Linux压缩解压实战指南:tar、gzip、zip 完整操作清单

【免费下载链接】linux-tutorial:penguin: Linux教程,主要内容:Linux 命令、Linux 系统运维、软件运维、精选常用Shell脚本项目地址: https://gitcode.com/GitHub_Trending/lin/linux-tutorial

本文出自开源项目 linux-tutorial,按使用场景梳理 Linux 压缩解压命令,讲清 tar/gzip/zip 命令的高频组合。读完即可处理 .tar、.tar.gz、.zip 的解压、整目录压缩与排除文件等场景。

在 Linux 上收到一个源码包,或者收到同事从 Windows 发来的 .zip 文件,第一个动作都一样——打开它。下面是打开这些压缩包、再把东西发出去的整套命令。

1. 先识别再动手:这个压缩包到底是什么

别上来就敲解压命令,先用file判断真实格式,它比看后缀更可靠:

file shop.tar.gz app.zip notes.tar # shop.tar.gz: gzip compressed data # app.zip: Zip archive data # notes.tar: POSIX tar archive (GNU)

确认格式后,按用途选命令:

你的场景推荐格式记住的命令为什么
服务器目录备份.tar.gztar -czf体积小、速度快,Linux 上最常见
和 Windows 交换文件.zipzip -r两边直接打开,无需转换
只把几个文件捆走.tartar -cf不压缩,最省时间
单个大文件只省空间.gzgzip不需要目录结构
长期归档、体积最小.tar.xztar -cJf体积最小,但最慢

💡 一句话:留在 Linux 上用 .tar.gz,要发 Windows 就用 .zip。

2. 把目录压成小包:tar 负责捆,gzip 负责挤

这两个词最容易混。tar 的本职是"打包"——把一堆文件和目录捆成一个档案,本身完全不省空间。真正压体积的是压缩工具,tar 加一个字母就能调用它:

  • -z:调 gzip,产出 .tar.gz
  • -j:调 bzip2,产出 .tar.bz2
  • -J:调 xz,产出 .tar.xz

.tar.gz 这个双后缀就是这么来的:前半段是 tar 的打包结果,后半段是 gzip 的压缩结果。常用参数:

参数作用
-c / -x / -t创建档案 / 还原 / 只看内容
-z / -j / -J用 gzip / bzip2 / xz 压缩
-f指定档案名,必须放最后
-v逐行显示文件清单
-C还原到指定目录
tar -czf /backup/shop_$(date +%F).tar.gz /var/www/shop tar -tzf /backup/shop_2026-08-23.tar.gz | head tar -xzf /backup/shop_2026-08-23.tar.gz -C /tmp/restore

第二行只列档案里前几项,第三行用-C指定还原位置,避免文件散落满当前目录。

⚠️-f必须紧跟在最后,它的下一位就是文件名。写错位置会看到tar: -f: No such file or directory

3. zip 递归压缩目录,压缩时排除文件的正确写法

zip 最大的价值是跨平台:Linux 上压出来,Windows 双击就能开。压缩目录要加-r递归进子目录:

zip -r dist_v1.2.zip build/ docs/ -x "*.tmp" -x "build/cache/*" unzip -l dist_v1.2.zip unzip -d /tmp/preview dist_v1.2.zip
  • -x跟在档案名后面,排除规则要加引号;排除多个就各写一个-x
  • unzip -l只列内容不还原;-d指定解压目录;加-o覆盖同名文件不再询问
  • 加密包解压时加-P跟密码

4. 实战脚本:备份目录,自动清理旧备份

把前面的命令组合起来,就是一段每天备份一个目录、只留最近 7 份的脚本:

#!/bin/bash TARGET="/opt/myapp/data" DEST="/backup/myapp" NAME="myapp_$(date +%F).tar.gz" mkdir -p "$DEST" tar -czf "$DEST/$NAME" -C "$(dirname "$TARGET")" "$(basename "$TARGET")" ls -t "$DEST" | grep -v "$NAME" | tail -n +7 | xargs -r rm -f -- "$DEST"/{}

tar 那行有个小技巧:用-C先跳到 data 的父目录,再打包目录名本身。这样档案里的路径变成data/...这种相对路径,换机器还原时不会把绝对路径搞混。

5. 新手高频踩坑

5.1 记不住参数:如何解压 tar.gz

只记一组对照:创建tar -czf,解压tar -xzf,查看tar -tzf。把c换成x就是反方向。

5.2 遇到 .tar.bz2、.tar.xz 怎么办

思路相同:-j配 bzip2,大写-J配 xz。解压写成tar -xjf pkg.tar.bz2tar -xJf pkg.tar.xz

J 是 j 按住 Shift 的键。最常见的错误就是用 xz 包敲了小写 j,报not bzip2 compressed data

5.3 gzip 报 "Not a directory"

gzip 只处理单个文件,不能直接压目录。目录先交给 tar 捆起来,再用-z让 tar 顺带调 gzip,这是唯一顺路。

5.4 只想还原大档案里的一个文件

在解压命令末尾追加文件名:tar -xzf shop_2026-08-23.tar.gz var/www/shop/config/app.yml。只还原这一个文件,几百 GB 的档案也不用全量解开。

6. 下一步建议

👉 先找个任意小目录,把tar -czftar -tzf各敲三遍,再用zip -r试一次排除全部*.log文件。参数细节可对照项目内 docs/linux/cli/linux-cli-file-compress.md 这一章。

【免费下载链接】linux-tutorial:penguin: Linux教程,主要内容:Linux 命令、Linux 系统运维、软件运维、精选常用Shell脚本项目地址: https://gitcode.com/GitHub_Trending/lin/linux-tutorial

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4190118.html

相关文章:

  • 5 种方式设置 CLS 上下文:nestjs-cls 中间件、Guard、拦截器与 @UseCls 装饰器终极对比
  • Node.js 全栈 API 设计与 GraphQL 实:版本升级最怕忽略什么
  • AgentHazard基准:评估计算机操作型AI智能体安全性的关键挑战与实践
  • 数学建模竞赛实战:从校赛到国赛的降维策略与团队协作
  • 选 v2_1000 还是 clean_3000?minimax-h3-spatial-physics-lora 两大版本对比测评
  • quadtree-js快速上手教程:5分钟安装并跑通你的第一个四叉树
  • STM32以太网实战:从MII/RMII接口到LWIP排错全解析
  • Web安全入门:从查看源代码到漏洞挖掘的实战指南
  • vue-mc Model 完全指南:defaults、mutations、validation 三大核心概念详解
  • 排队论模型:从数学建模到仿真优化的完整指南
  • 告别Rust冗余Ok()包裹:fehler新手完全指南与5个入门技巧
  • RPCS3 汉化补丁手把手安装教程:不再吃字符,中文畅玩 PS3 经典
  • TransPixar 安装指南:让 RGBA 视频生成在你自己的机器上跑起来
  • 华为S5720交换机密码修改与安全配置全流程实操指南
  • AI编程助手上下文选择策略:双智能体消融实验与工程实践
  • C++类模板:从通用蓝图到可变参数模板的深度解析与实践
  • 深入 cdk-constructs 构建原理:jsii 多语言支持与 cdkdx 打包完整流程
  • smallpath Blog图片优化流水线:七牛上传+WebP自动转换,省流量只需3行配置
  • 不止于JS导入:用responsive-loader查询参数打造CSS响应式背景图
  • synology-spk-repo.json是怎么生成的?homebridge-syno-spk官方SPK源工作原理与开源贡献指南
  • Minimus云存储揭秘:Firestore天气应用按用户隔离城市列表的完整教程
  • 美赛D题深度复盘:如何将团队合作量化建模与策略优化
  • 美赛B题建模实战:从沙堡持久性问题看交叉学科建模心法
  • C++函数模板深度解析:从泛型编程原理到工程实践避坑指南
  • SDC命令详解:使用set_max_transition命令进行约束
  • AI代码助手静默语义失败:成因剖析与防御实践指南
  • DeepResearch-9K:AI智能体深度研究能力的标准化评估基准
  • htop 主题定制:改 3 个开关,默认界面一眼看清谁在吃 CPU
  • AI编码代理的“自信且错误”陷阱:静默语义失败与防御策略
  • TranAD对比8大基线模型:LSTM_AD、OmniAnomaly、USAD、GDN等异常检测算法实测分析