打包与压缩:从 Linux 命令行到 Python 脚本
2026/4/22 2:39:38 网站建设 项目流程

在数据处理、系统运维和软件分发中,我们经常需要将多个文件或整个目录整理成一个整体,并尽可能减小其体积以便存储或传输。这一过程通常分为两个步骤:打包(归档)压缩。在 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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询