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 最慢 最高 大文件归档存储
相关推荐
咕噜企业分发小米2 小时前
阿里云与华为云基因测序数据同步的日志内容中,哪些字段对于故障排查最为关键?
数据库·阿里云·华为云
阿杰 AJie2 小时前
MyBatis-Plus 比较运算符
java·数据库·mybatis
码农幻想梦2 小时前
实验六 AOP,JdbcTemplate及声明式事务
java·开发语言·数据库
梁洪飞2 小时前
kernel 内存知识
linux·arm开发·嵌入式硬件·arm
砚边数影2 小时前
金仓数据库KDMS助力某能源集团完成20TB时序数据智能迁移,效率提升显著、年省运维成本超千万元
运维·数据库·能源·时序数据库·数据库平替用金仓·金仓数据库·kdms
我是一只小青蛙8882 小时前
Python文件组织:路径抽象到安全归档
java·服务器·前端
鸠摩智首席音效师2 小时前
如何在 Linux 中使用 sort 命令排序 ?
linux·运维·服务器
齐 飞2 小时前
springboot整合shardingsphere-jdbc5.1.1-按月分表
数据库·spring boot
Lenyiin2 小时前
《 Linux 修炼全景指南: 十三 》环境变量
linux·运维·服务器