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

压缩文件夹下下所有文件成压缩包tar.gz--随笔016

你需要将指定文件夹下的 ** 所有文件(包含子文件夹及其中文件)** 打包并压缩为tar.gz格式,我会提供具体的终端命令、参数解释和注意事项,适用于 Linux/macOS 系统(Windows 可使用 Git Bash、WSL 或 7-Zip 执行)。

一、核心命令(基础版)

1. 打包指定文件夹的所有内容(最常用)

假设你要打包的文件夹是./mydata(相对路径)或/home/user/mydata(绝对路径),生成的压缩包名为mydata.tar.gz,命令如下:

# 格式:tar -zcvf 输出的压缩包名.tar.gz 要打包的文件夹路径 tar -zcvf mydata.tar.gz ./mydata
2. 仅打包文件夹下的文件(不包含文件夹本身,仅文件和子文件夹内容)

如果希望压缩包内直接显示文件,而非先进入文件夹再看到文件,可进入目标文件夹后执行:

# 进入目标文件夹 cd ./mydata # 打包当前文件夹下的所有内容,压缩包保存到上级目录 tar -zcvf ../mydata.tar.gz ./*

二、参数详细解释(关键!理解每个参数的作用)

参数含义必要性
-z使用gzip压缩算法(生成.gz格式,是tar.gz的核心压缩步骤)必须(否则仅打包不压缩,生成.tar文件)
-c创建新的压缩包(create)必须
-v显示打包 / 压缩的过程(verbose),会列出每个被处理的文件 / 文件夹可选(不加则静默执行,适合批量操作)
-f指定压缩包的文件名(file),必须放在所有参数最后,紧跟文件名必须

三、进阶用法与注意事项

1. 排除特定文件 / 文件夹

如果需要打包时排除某些文件(如临时文件、日志文件),使用--exclude参数:

# 排除mydata文件夹下的tmp子文件夹和.log日志文件 tar -zcvf mydata.tar.gz ./mydata --exclude=./mydata/tmp --exclude=*.log
2. 解压验证(确保压缩包完整)

压缩完成后,可通过以下命令解压验证(或查看压缩包内容而不解压):

# 解压压缩包(会生成原文件夹) tar -zxvf mydata.tar.gz # 仅查看压缩包内的文件列表(不解压) tar -ztvf mydata.tar.gz
3. 处理大文件 / 特殊场景
  • 大文件夹压缩:如果文件夹很大(如几十 GB),可去掉-v参数(减少终端输出的 IO 消耗),加快压缩速度。
  • 保留文件权限tar默认会保留文件的权限、所有者等信息,若在服务器上操作,无需额外参数;若需跨系统使用,可添加--no-same-permissions参数。
  • Windows 系统注意:使用 Git Bash 或 WSL 执行时,路径分隔符用/(而非\),例如tar -zcvf D:/mydata.tar.gz D:/mydata

总结

  1. 核心命令tar -zcvf 压缩包名.tar.gz 目标文件夹路径是最常用的打包压缩命令,可覆盖绝大多数场景。
  2. 关键参数-z(gzip 压缩)、-c(创建)、-f(指定文件名)是必须的,-v是可选的过程展示。
  3. 实用技巧:使用--exclude排除不需要的文件,用tar -ztvf验证压缩包内容,确保打包完整。
http://www.cnnetsun.cn/news/52819.html

相关文章:

  • vue基于Spring Boot框架的在线电影票购买系统的设计与实现_8xxt52nn
  • 在服务器上安装 aaPanel
  • Week 29: 深度学习补遗:MoE的稳定性机制与路由策略实现
  • 25年12月14日复盘总结,大盘方向,操作建议,板块机会,实用干货
  • what?动态规划?
  • CommonJS 的缓存机制:为什么二次 require 得到的对象是同一个?
  • 跨标签页通信的五种方案:LocalStorage、BroadcastChannel 与 SharedWorker
  • JavaScript 与 CSS 变量交互:利用 setProperty 动态修改 CSS 变量实现主题切换
  • 2、UNIX基础入门教程
  • 6、互联网通信全解析:从邮件到多媒体的多元世界
  • vue基于Spring Boot框架 农产品销售供应商管理系统_m11i2507_
  • 10、UNIX系统管理:技术与实践指南
  • vue基于SpringBoot的健身房管理系统设计与实现_45vy0km9_
  • 父子进程关系与终止机制详解
  • Qt面试题合集(一)
  • Claude vs ChatGPT vs Gemini:全方位对比与选用指南
  • 大模型量化技术原理-ZeroQuant系列(一)
  • RISCV的异常和中断
  • vue基于Spring Boot框架的水果商城设计与实现_6628xfyb_
  • 【入门级-数据结构-3、特殊树:完全二叉树的定义与基本性质】
  • python用openpyxl操作excel-读取或创建excel文件
  • 刷题日记day5(二分+前缀和)
  • 005-AES:采招网
  • 基于python+django的在线考试系统(源码+lw+部署文档+讲解等)
  • C语言一维与二维数组名详解:从本质理解到高手应用
  • 当水印遇见AI:一场像素级的美学修复之旅
  • 软件测试是保障软件质量的关键环节,尤其在当前无法完全依赖形式化方法证明软件正确性的背景下,测试成为发现缺陷最主要、最有效的手段
  • 如何用AI快速生成Flink面试题答案?
  • 10分钟搞定:DeepSeek本地开发环境快速搭建方案
  • 豆包AI手机智能操控的硬核原理