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 最慢 最高 大文件归档存储
相关推荐
大数据新鸟7 小时前
NIO 三大核心组件
服务器·网络·nio
wgzrmlrm747 小时前
mysql如何配置全文索引停用词_mysql ft_stopword_file设置
jvm·数据库·python
相醉为友7 小时前
024 嵌入式Linux应用开发——文字显示与freetype的使用显示
linux·运维·驱动开发
陳10307 小时前
Linux:进程的基本理解
linux·计算机外设·进程
Hello World . .7 小时前
Linux驱动编程1:imxull上移植Linux系统
linux·运维·服务器
小夏子_riotous7 小时前
openstack的使用——5. Swift服务的基本使用
linux·运维·开发语言·分布式·云计算·openstack·swift
学Linux的语莫7 小时前
Hyper-V的安装使用
linux·windows·ubuntu·hyper-v
城数派7 小时前
2025年南京市全类别POI(55W+数据)
数据库·arcgis·信息可视化·数据分析·excel
IMPYLH7 小时前
Linux 的 numfmt 命令
linux·运维·服务器·bash
proware7 小时前
海思3403与3559安全启动
linux·安全·tee