Linux常见压缩命令

一、压缩原理

Linux 下的压缩工具核心是通过数据编码算法,将文件中的重复信息用更短的符号表示,从而减少文件体积。不同算法的设计目标不同,因此在压缩率和速度上有明显差异:

  • gzip:基于 DEFLATE 算法(LZ77 + Huffman 编码),在速度和压缩率之间取得平衡,适合日常通用场景。
  • bzip2:使用 Burrows-Wheeler 变换,压缩率比 gzip 更高,但压缩和解压速度较慢。
  • xz:采用 LZMA2 算法,压缩率是三者中最高的,但耗时也最长,适合对大文件进行归档存储。

二、常用命令行工具
  1. gzip / gunzip

    复制代码
    # 压缩文件(原文件会被删除,生成 filename.gz)
    gzip filename
    # 解压 .gz 文件
    gunzip filename.gz
  2. tar(归档 + 压缩) tar 本身是归档工具,可结合不同压缩算法生成压缩包:

    复制代码
    # 归档并以 gzip 压缩
    tar -czvf archive.tar.gz dirname
    # 归档并以 bzip2 压缩
    tar -cjvf archive.tar.bz2 dirname
    # 归档并以 xz 压缩
    tar -cJvf archive.tar.xz dirname
    # 解压 .tar.gz 文件
    tar -xzvf archive.tar.gz
    # 解压 .tar.bz2 文件
    tar -xjvf archive.tar.bz2

    参数说明:

    • -c:创建新的归档文件
    • -x:从归档文件中提取文件
    • -z:使用 gzip 压缩
    • -j:使用 bzip2 压缩
    • -J:使用 xz 压缩
    • -v:显示详细过程
    • -f:指定归档文件名

三、性能比较
工具 速度 压缩率 适用场景
gzip 中等 通用日常压缩
bzip2 较慢 较高 对压缩率有要求的场景
xz 最慢 最高 大文件归档存储
相关推荐
科技小花1 天前
全球化深水区,数据治理成为企业出海 “核心竞争力”
大数据·数据库·人工智能·数据治理·数据中台·全球化
X56611 天前
如何在 Laravel 中正确保存嵌套动态表单数据(主服务与子服务)
jvm·数据库·python
青梅橘子皮1 天前
Linux---基本指令
linux·运维·服务器
REDcker1 天前
Linux信号机制详解 POSIX语义与内核要点 sigaction与备用栈实践
linux·运维·php
虹科网络安全1 天前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
2301_771717211 天前
解决mysql报错:1406, Data too long for column
android·数据库·mysql
小江的记录本1 天前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
cui_ruicheng1 天前
Linux进程间通信(三):System V IPC与共享内存
linux·运维·服务器
dvjr cloi1 天前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
蚰蜒螟1 天前
深入 Linux 内核同步机制:从 futex 到 spinlock 的完整旅程
linux·windows·microsoft