当前位置:首页>Linux>【Linux·基础篇】Shell 基础|常用命令·归档与压缩(三)

【Linux·基础篇】Shell 基础|常用命令·归档与压缩(三)

  • 2026-10-04 19:47:22
【Linux·基础篇】Shell 基础|常用命令·归档与压缩(三)

本文依旧属于 Linux 文件管理的基础内容,将深入解析 Linux 系统中归档与压缩的核心工具,详细介绍主流压缩工具的使用方法,旨在帮助读者掌握高效数据整理与备份文件的实用技能。

[本文基于 CentOS Linux release 7 系统环境]

前情提要:通过往期文章

我们了解了归档和压缩的基本概念、 tar 命令的基本使用方法和常见的实战技巧。

一、归档和压缩的常用命令

gzip

简介

  • • 名称:gzip, gunzip, zcat - GNU zip, compress or expand files
  • • 语法:gzip|gunzip|zcat [OPTION...] [FILE]...
  • • 描述:基于 DEFLATE 算法的压缩工具,在速度与压缩率之间取得最佳平衡(压缩速度较快,压缩率适中),是 Linux 系统默认的压缩工具。

示例

  • • 创建压缩归档
    # 压缩文件(会删除原文件)gzip filename.txt  # 生成 filename.txt.gz,原文件会被删除# 压缩并保留原文件gzip -k large_file.datgzip -c filename.txt > filename.txt.gz
  • • 查看压缩归档
    # 查看压缩文件的原始内容而不解压zcat filename.txt.gz# 查看压缩文件的统计信息gzip -l data.gz
  • • 解压压缩归档
    # 解压缩gzip -d filename.txt.gzgunzip filename.txt.gz
  • • 测试压缩归档
    # 测试压缩文件完整性gzip -t archive.tar.gz

bzip2

简介

  • • 名称:
    • • bzip2, bunzip2 - a block-sorting file compressor
    • • bzcat - decompresses files to stdout
    • • bzip2recover - recovers data from damaged bzip2 files
  • • 语法:bzip2|bzcat|bzip2recover [OPTION...] [FILE]...
  • • 描述:基于 Burrows-Wheeler 变换算法的压缩工具,提供比 gzip 更高的压缩率,但速度较慢,适合对压缩率要求较高的场景。

示例

  • • 创建压缩归档
    # 压缩文件bzip2 filename.txt  # 生成 filename.txt.bz2# 保留原文件并压缩bzip2 -k large_text.txt# 最高压缩级别bzip2 -9 database_dump.sql
  • • 查看压缩归档
    # 查看压缩文件内容bzcat filename.txt.bz2
  • • 解压压缩归档
    # 解压缩bzip2 -d archive.tar.bz2bunzip2 filename.txt.bz2
  • • 测试压缩归档
    # 测试压缩文件完整性bzip2 -t backup.bz2

xz

简介

  • • 名称:xz, unxz, xzcat, lzma, unlzma, lzcat - Compress or decompress .xz and .lzma files
  • • 语法:xz|unxz|xzcat|lzma|unlzma|lzcat [option...]  [file...]
  • • 描述:基于 LZMA2 算法的压缩工具,提供目前最高的压缩率,但速度最慢,适合对空间要求极高的场景(如用于长期存储、网络传输等)。

示例

  • • 创建压缩归档
    # 压缩文件xz filename.txt  # 生成 filename.txt.xz# 多线程压缩(显著提升速度)xz -T4 large_video.mkv# 极限压缩模式xz -9e critical_data.bin
  • • 查看压缩归档
    # 查看压缩文件内容xzcat filename.txt.xz# 显示压缩文件详细信息xz -l backup.xz
  • • 解压压缩归档
    # 解压缩xz -d archive.tar.xzunxz filename.txt.xz
  • • 测试压缩归档
    # 测试压缩文件完整性xz -t backup.xz

zip

简介

  • • 名称:
    • • zip - package and compress (archive) files
    • • unzip - list, test and extract compressed files in a ZIP archive
  • • 语法:zip|unzip [option...]  [file...]
  • • 描述:虽然它在 Linux 中不像 tar 那样能完美保留权限信息,但 zip 广泛支持的跨平台压缩格式,在 Windows、macOS 和 Linux 之间提供最佳兼容性。

示例

  • • 创建压缩归档
    # 压缩文件zip archive.zip file1.txt file2.txt# 压缩目录(-r 表示递归)zip -r archive.zip directory/# 更高压缩率zip -9 -r archive.zip directory/# 加密压缩zip -e secret.zip confidential.pdf# 分卷压缩(每卷 50MB)zip -r -s 50m large_archive.zip big_folder/
  • • 查看压缩归档
    # 列出 zip 文件内容unzip -l archive.zip
  • • 解压压缩归档
    # 解压到当前目录unzip archive.zip# 解压到指定目录unzip archive.zip -d /target/directory/# 仅解压特定文件unzip archive.zip "*.txt" -d /target/
  • • 测试压缩归档
    # 测试压缩文件完整性unzip -t archive.zip

二、压缩性能与压缩率权衡

格式
压缩速度
解压速度
压缩率
适用场景
gzip
快
快
中等
日常使用、网络传输
bzip2
慢
中等
高
需要较高压缩率,不频繁访问
xz
非常慢
中等
非常高
归档长期存储的数据
zip
中等
快
中等
跨平台共享

选择建议:

  • • 日常使用:.tar.gz(速度与压缩率的平衡)
  • • 最大压缩:.tar.xz(长期存储、空间有限)
  • • Windows 共享:.zip(确保兼容性)

三、结语:让文件管理变得更高效

归档与压缩是每个 Linux 用户必须掌握的基础技能。本文和往期有关归档与压缩的文章,主要介绍了 Linux 中最常用的归档与压缩工具,文中介绍的这些技能足够应对日常学习和工作中的一些任务,例如:

  • • 高效备份:使用 tar 和 gzip 快速创建项目备份;
  • • 节省空间:通过压缩减少日志文件和文档的存储占用;
  • • 方便传输:将多个文件打包压缩后通过邮件或网络传输;
  • • 数据整理:归档老旧但重要的数据以便长期保存。

俗话说:“实践是最好的老师。”看完这些有关归档与压缩的文章,你是否也有些跃跃欲试了呢?可以尝试练习以下操作:

  • • 创建一个测试目录,放入几个文件;
  • • 分别使用 tar、gzip 和 zip 进行归档压缩;
  • • 比较不同格式的文件大小和压缩归档操作的时间;
  • • 尝试通过网络(如 scp)传输压缩文件。

此番炼器手札,炉火尚未全熄。若道友观之有趣,或可暂留此间,结一尘缘。待下回开炉铸器,新得感悟,必先与同道分享。

最新文章

随机文章