【Linux知识】Linux常见压缩文件格式以及对应命令行

文章目录

    • [1. **gzip (`.gz`)**](#1. gzip (.gz))
    • [2. **bzip2 (`.bz2`)**](#2. bzip2 (.bz2))
    • [3. **xz (`.xz`)**](#3. xz (.xz))
    • [4. **zip (`.zip`)**](#4. zip (.zip))
    • [5. **tar (`.tar`)**](#5. tar (.tar))
    • [6. **7z (`.7z`)**](#6. 7z (.7z))
    • [7. **rar (`.rar`)**](#7. rar (.rar))
    • [8. **zstd (`.zst`)**](#8. zstd (.zst))
    • 总结

在 Linux 系统中,常见的压缩文件格式包括 .gz.bz2.xz.zip.tar.7z.rar 等。以下是这些格式的详细说明以及对应的压缩和解压缩命令。


1. gzip (.gz)

  • 特点: 使用 gzip 压缩算法,压缩速度快,压缩率适中。
  • 常用命令 :
    • 压缩文件:

      bash 复制代码
      gzip filename

      生成 filename.gz 并删除原文件。

    • 解压缩文件:

      bash 复制代码
      gunzip filename.gz

      bash 复制代码
      gzip -d filename.gz
    • 保留原文件压缩:

      bash 复制代码
      gzip -c filename > filename.gz
    • 查看压缩文件内容:

      bash 复制代码
      zcat filename.gz

2. bzip2 (.bz2)

  • 特点: 使用 bzip2 压缩算法,压缩率比 gzip 高,但速度较慢。
  • 常用命令 :
    • 压缩文件:

      bash 复制代码
      bzip2 filename

      生成 filename.bz2 并删除原文件。

    • 解压缩文件:

      bash 复制代码
      bunzip2 filename.bz2

      bash 复制代码
      bzip2 -d filename.bz2
    • 保留原文件压缩:

      bash 复制代码
      bzip2 -c filename > filename.bz2
    • 查看压缩文件内容:

      bash 复制代码
      bzcat filename.bz2

3. xz (.xz)

  • 特点: 使用 LZMA 压缩算法,压缩率高,但速度较慢。
  • 常用命令 :
    • 压缩文件:

      bash 复制代码
      xz filename

      生成 filename.xz 并删除原文件。

    • 解压缩文件:

      bash 复制代码
      unxz filename.xz

      bash 复制代码
      xz -d filename.xz
    • 保留原文件压缩:

      bash 复制代码
      xz -c filename > filename.xz
    • 查看压缩文件内容:

      bash 复制代码
      xzcat filename.xz

4. zip (.zip)

  • 特点: 支持多文件压缩,兼容性好,常用于跨平台文件传输。
  • 常用命令 :
    • 压缩文件或目录:

      bash 复制代码
      zip archive.zip file1 file2 dir1
    • 解压缩文件:

      bash 复制代码
      unzip archive.zip
    • 查看压缩文件内容:

      bash 复制代码
      unzip -l archive.zip
    • 解压到指定目录:

      bash 复制代码
      unzip archive.zip -d target_directory

5. tar (.tar)

  • 特点 : 用于打包文件,通常与压缩工具结合使用(如 .tar.gz.tar.bz2.tar.xz)。
  • 常用命令 :
    • 打包文件或目录:

      bash 复制代码
      tar -cvf archive.tar file1 file2 dir1
    • 解包文件:

      bash 复制代码
      tar -xvf archive.tar
    • 打包并压缩:

      • 使用 gzip:

        bash 复制代码
        tar -czvf archive.tar.gz file1 file2 dir1
      • 使用 bzip2:

        bash 复制代码
        tar -cjvf archive.tar.bz2 file1 file2 dir1
      • 使用 xz:

        bash 复制代码
        tar -cJvf archive.tar.xz file1 file2 dir1
    • 解压并解包:

      • 使用 gzip:

        bash 复制代码
        tar -xzvf archive.tar.gz
      • 使用 bzip2:

        bash 复制代码
        tar -xjvf archive.tar.bz2
      • 使用 xz:

        bash 复制代码
        tar -xJvf archive.tar.xz
    • 查看压缩文件内容:

      bash 复制代码
      tar -tf archive.tar.gz

6. 7z (.7z)

  • 特点: 高压缩率,支持多种压缩算法。
  • 常用命令 :
    • 压缩文件或目录:

      bash 复制代码
      7z a archive.7z file1 file2 dir1
    • 解压缩文件:

      bash 复制代码
      7z x archive.7z
    • 查看压缩文件内容:

      bash 复制代码
      7z l archive.7z

7. rar (.rar)

  • 特点: 高压缩率,常用于 Windows 平台。
  • 常用命令 :
    • 压缩文件或目录:

      bash 复制代码
      rar a archive.rar file1 file2 dir1
    • 解压缩文件:

      bash 复制代码
      unrar x archive.rar
    • 查看压缩文件内容:

      bash 复制代码
      unrar l archive.rar

8. zstd (.zst)

  • 特点: 现代压缩工具,压缩速度快,压缩率适中。
  • 常用命令 :
    • 压缩文件:

      bash 复制代码
      zstd filename

      生成 filename.zst 并删除原文件。

    • 解压缩文件:

      bash 复制代码
      unzstd filename.zst
    • 查看压缩文件内容:

      bash 复制代码
      zstdcat filename.zst

总结

Linux 提供了多种压缩工具,每种工具都有其独特的优势和适用场景。以下是常用命令的对比:

格式 压缩命令 解压缩命令 特点
.gz gzip filename gunzip filename.gz 速度快,压缩率适中
.bz2 bzip2 filename bunzip2 filename.bz2 压缩率高,速度较慢
.xz xz filename unxz filename.xz 压缩率高,速度较慢
.zip zip archive.zip file1 unzip archive.zip 跨平台兼容性好
.tar tar -cvf archive.tar file1 tar -xvf archive.tar 打包工具,常结合压缩使用
.7z 7z a archive.7z file1 7z x archive.7z 高压缩率
.rar rar a archive.rar file1 unrar x archive.rar 高压缩率,Windows 常用
.zst zstd filename unzstd filename.zst 现代压缩工具,速度快

根据需求选择合适的工具和命令,可以高效地完成文件压缩和解压缩任务。

相关推荐
niuTaylor2 小时前
从入门到精通:CMakeLists.txt 完全指南
linux·服务器·cmake
思扬09283 小时前
Docker多阶段构建深度优化指南:从GB到MB的镜像瘦身革命
运维·docker·容器
大刘讲IT4 小时前
数据治理体系的“三驾马车”:质量、安全与价值挖掘
大数据·运维·经验分享·学习·安全·制造·零售
镰圈量化4 小时前
Django 实现服务器主动给客户端发送消息的几种常见方式及其区别
服务器·django·sqlite
SuperW5 小时前
Linux学习——UDP
linux·学习·udp
szxinmai主板定制专家5 小时前
国产RK3568+FPGA以 ‌“实时控制+高精度采集+灵活扩展”‌ 为核心的解决方案
大数据·运维·网络·人工智能·fpga开发·机器人
xixingzhe25 小时前
docker转移镜像
运维·docker·容器
菜狗想要变强6 小时前
Linux驱动开发--异步通知与异步I/O
linux·运维·驱动开发
SuperW6 小时前
Linux学习——IO多路复用知识
linux·服务器·学习
搬码临时工6 小时前
路由器转发规则设置方法步骤,内网服务器端口怎么让异地连接访问的实现
服务器·网络·智能路由器·内网穿透·端口映射·外网访问