news 2026/4/3 5:08:07

打包与压缩:从 Linux 命令行到 Python 脚本

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打包与压缩:从 Linux 命令行到 Python 脚本

在数据处理、系统运维和软件分发中,我们经常需要将多个文件或整个目录整理成一个整体,并尽可能减小其体积以便存储或传输。这一过程通常分为两个步骤:打包(归档)压缩。在 Linux 生态中,tar负责打包,gzip负责压缩;而在 Python 中,tarfilegzip模块则提供了等效的程序化接口。

本文将围绕“打包与压缩”这一核心主题,系统讲解如何在Linux 命令行Python 脚本中高效完成相关操作,涵盖单文件压缩、多文件归档、内容查看、完整性验证以及自动化处理等实用场景。

一、打包与压缩的基本概念

为什么需要先打包再压缩?

  • 压缩工具(如 gzip)只能处理单个文件。若直接对目录运行gzip,会报错。
  • 打包工具(如 tar)可将多个文件/目录合并为一个归档文件,但不减小体积。
  • 组合使用:先用tar打包,再用gzip压缩,既保留了文件结构,又实现了体积优化。

最终产物通常是.tar.gz(或.tgz)文件,这是 Linux 下最标准的归档压缩格式。

二、Linux 命令行中的打包与压缩

1. 使用 tar 打包(不压缩)

tar-cf archive.tar /path/to/dir
  • -c:创建新归档
  • -f:指定输出文件名
    生成的archive.tar是未压缩的打包文件,体积与原目录相近。

2. 打包并压缩为 .tar.gz

tar-czf backup.tar.gz /path/to/dir
  • -z:启用 gzip 压缩
    此命令一步完成打包与压缩,是日常最常用的操作。

3. 解压 .tar.gz 文件

tar-xzf backup.tar.gz
  • -x:解包
  • -z:自动识别 gzip 压缩
  • -f:指定文件

可添加-C /target/dir指定解压路径。

4. 查看归档内容(不解压)

列出文件列表:

tar-tzf backup.tar.gz

5. 单文件压缩(仅 gzip)

对于单个日志或文本文件,可直接使用 gzip:

gzipaccess.log# 生成 access.log.gzgunzip access.log.gz
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/27 10:39:30

C++ 的一些基础知识

好的!下面给你整理一份 C 基础知识 的清晰概览,适合初学者快速建立知识框架,也方便后期查漏补缺。 我会从最基础的部分开始,逐步介绍 C 相比 C 语言增加的重要特性,以及现代 C(C11/14/17/20)常…

作者头像 李华
网站建设 2026/3/20 23:21:06

HTTPS加密原理:安全上网的秘密武器

HTTPS 加密原理 是现代互联网安全上网的核心支柱,它让你的浏览器和网站之间通信变得保密、防篡改、可信。下面用通俗 准确的方式完整说明它的原理。 1. HTTPS 到底比 HTTP 多做了什么? 对比项HTTPHTTPS协议明文传输加密传输端口80443底层协议TCPTCP …

作者头像 李华
网站建设 2026/4/2 18:48:59

电影推荐系统 | Python Django 协同过滤 requests爬虫 bootstrap3 毕业设计源码

博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ > 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与…

作者头像 李华
网站建设 2026/3/26 21:36:26

【小程序毕设全套源码+文档】基于微信小程序的高校讲座信息APP的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/2 12:56:50

压缩、编码、哈希与内存流

在现代软件开发中,处理二进制数据是一项常见任务。无论是压缩日志、传输图片,还是校验文件完整性,我们常常会用到一组看似相似但用途迥异的工具:zstd、Base64、xxHash 和 BytesIO。它们都作用于字节数据,却解决完全不同的问题。本文将逐一解释它们的本质,并说明它们如何在…

作者头像 李华
网站建设 2026/3/19 16:37:34

阿里高工内产的 SpringBoot 保姆级笔记,面面俱到,太全了

前言 嘿伙计,你用过 Spring 和 SpringBoot 吗?是不是感觉Spring真是个强大的框架, SpringBoot 又让 Spring 更加牛批了呢?我想这个大家也都这么认为吧!SpringBoot 在当下的 Java 后端开发中已经相当流行,非…

作者头像 李华