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 最慢 最高 大文件归档存储
相关推荐
-Try hard-17 小时前
Linuv软件编程 | Shell命令
linux·运维·服务器
释怀不想释怀17 小时前
Linux快捷键,软件安装启动
linux·运维·服务器
天空属于哈夫克317 小时前
Java 版:利用外部群 API 实现自动“技术开课”倒计时提醒
数据库·python·mysql
Hello World . .17 小时前
Linux:软件编程
linux·运维·服务器·vim
eWidget18 小时前
随机森林原理:集成学习思想 —— Java 实现多棵决策树投票机制
java·数据库·随机森林·集成学习·金仓数据库
Traced back18 小时前
SQL Server 核心语法+进阶知识点大全(小白版)
数据库·sqlserver
资深web全栈开发18 小时前
PostgreSQL枚举还是字符串:ENUM vs VARCHAR + CHECK 的权衡
数据库·postgresql
凯子坚持 c18 小时前
C++基于微服务脚手架的视频点播系统---客户端(4)
数据库·c++·微服务
人间打气筒(Ada)18 小时前
k8s:CNI网络插件flannel与calico
linux·云原生·容器·kubernetes·云计算·k8s
OceanBase数据库官方博客18 小时前
OceanBase场景解码系列三|OB Cloud 如何稳定支撑中企出海实现数 10 倍的高速增长?
数据库·oceanbase·分布式数据库