好用的命令-7z

目录

  1. 1. 1.7-Zip压缩算法及归档格式支持
    1. 1.1. 一、主要压缩算法
      1. 1.1.1. LZMA / LZMA2
      2. 1.1.2. BZip2
      3. 1.1.3. Deflate
      4. 1.1.4. PPMd
      5. 1.1.5. LZ4 & Zstandard (实验性)
    2. 1.2. 二、支持的归档格式
      1. 1.2.1. 创建和解压
      2. 1.2.2. 仅解压
    3. 1.3. 三、其他功能
    4. 1.4. 四、如何选择算法?
  2. 2. 2. 使用7z命令进行压缩和解压的详细指南
    1. 2.1. 一、压缩文件/目录
      1. 2.1.1. 1. 压缩为 .7z 格式(默认算法)
        1. 2.1.1.1. 压缩单个文件或目录
        2. 2.1.1.2. 示例:压缩当前目录下的 “data” 文件夹
        3. 2.1.1.3. 高级参数:
      2. 2.1.2. 2. 压缩为 .zip 格式
        1. 2.1.2.1. 使用 Deflate 算法(默认)
        2. 2.1.2.2. 指定压缩方法(如 BZip2)
      3. 2.1.3. 3. 压缩为 .tar、.tar.gz、.tar.bz2 格式
        1. 2.1.3.1. 打包为 .tar(仅归档,不压缩)
        2. 2.1.3.2. 打包并压缩为 .tar.gz(gzip 算法)
        3. 2.1.3.3. 打包并压缩为 .tar.bz2(BZip2 算法)
    2. 2.2. 二、解压文件
      1. 2.2.1. 1. 解压 .7z、.zip、.tar 等格式
        1. 2.2.1.1. 通用解压(自动识别格式)
        2. 2.2.1.2. 示例:解压到当前目录
        3. 2.2.1.3. 解压带密码的文件
      2. 2.2.2. 2. 解压 .tar.gz、.tar.bz2 格式
        1. 2.2.2.1. 分步解压 .tar.gz
        2. 2.2.2.2. 一步解压(需安装 tar 命令)
    3. 2.3. 三、常用参数
    4. 2.4. 四、示例场景
      1. 2.4.1. 1. 分卷压缩大文件
      2. 2.4.2. 2. 加密压缩敏感文件
      3. 2.4.3. 3. 仅列出压缩包内容
    5. 2.5. 五、注意事项
      1. 2.5.1. 安装 7-Zip:
      2. 2.5.2. 兼容性:
      3. 2.5.3. 性能建议:

1.7-Zip压缩算法及归档格式支持

一、主要压缩算法

LZMA / LZMA2

  • 特点:7-Zip 的默认算法,以高压缩率著称,但压缩/解压速度较慢。LZMA2 是 LZMA 的改进版,支持多线程加速。
  • 应用格式:.7z、.xz(仅 LZMA2)。

BZip2

  • 特点:平衡压缩率和速度,适合通用场景。
  • 应用格式:.bz2、.bzip2、.tar.bz2。

Deflate

  • 特点:广泛使用的快速压缩算法,压缩率中等。
  • 应用格式:.zip、.gz、.jar。

PPMd

  • 特点:针对文本文件优化,适合压缩重复性低的数据(如日志、代码)。
  • 应用格式:.7z(需手动选择)。

LZ4 & Zstandard (实验性)

  • 特点:超高速压缩/解压,适合对速度敏感的场景(如实时传输)。
  • 支持情况:需通过插件或命令行启用。

二、支持的归档格式

创建和解压

  • .7z(默认格式,支持多算法)
  • .zip(支持 Deflate、BZip2、LZMA 等)
  • .tar(仅打包,不压缩)
  • .gzip (.gz)
  • .bzip2 (.bz2)
  • .xz(基于 LZMA2)

仅解压

  • .rar(需安装额外插件)
  • .arj、.cab、.chm、.deb、.rpm 等。

三、其他功能

  • 加密支持:AES-256 加密(.7z、.zip 格式)。
  • 分卷压缩:支持将大文件分割为多个小文件(如 .7z.001, .7z.002)。
  • 多线程优化:LZMA2、BZip2 等算法支持多线程加速。

四、如何选择算法?

  • 追求压缩率:选 LZMA2(.7z 格式)。
  • 需要通用兼容性:用 Deflate(.zip 格式)。
  • 快速压缩/解压:选 LZ4 或 Deflate。
  • 文本文件优化:用 PPMd。

2. 使用7z命令进行压缩和解压的详细指南

适用于 Linux 和 Windows 环境(需安装 7-Zip 并确保 7z 命令可用)。

一、压缩文件/目录

1. 压缩为 .7z 格式(默认算法)

压缩单个文件或目录

7z a archive.7z /path/to/file_or_folder

示例:压缩当前目录下的 “data” 文件夹

7z a data.7z data/

高级参数:

7z a -mx=9 -p123456 archive.7z data/  # -mx=9(最高压缩率),-p(设置密码)

2. 压缩为 .zip 格式

使用 Deflate 算法(默认)

7z a archive.zip /path/to/file_or_folder

指定压缩方法(如 BZip2)

7z a -tzip -mm=BZip2 archive.zip data/

3. 压缩为 .tar、.tar.gz、.tar.bz2 格式

打包为 .tar(仅归档,不压缩)

7z a archive.tar /path/to/file_or_folder

打包并压缩为 .tar.gz(gzip 算法)

7z a -ttar archive.tar data/ && 7z a -tgzip archive.tar.gz archive.tar

打包并压缩为 .tar.bz2(BZip2 算法)

7z a -ttar archive.tar data/ && 7z a -tbzip2 archive.tar.bz2 archive.tar

二、解压文件

1. 解压 .7z、.zip、.tar 等格式

通用解压(自动识别格式)

7z x archive.7z -o/path/to/output  # -o 指定输出目录(无空格)

示例:解压到当前目录

7z x archive.zip

解压带密码的文件

7z x -p123456 archive.7z

2. 解压 .tar.gz、.tar.bz2 格式

分步解压 .tar.gz

7z x archive.tar.gz        # 先解压为 .tar
7z x archive.tar           # 再解压 .tar 中的内容

一步解压(需安装 tar 命令)

tar -xzvf archive.tar.gz   # Linux 原生命令更高效

三、常用参数

参数 说明
a 添加文件到压缩包
x 解压并保留目录结构
-o 指定输出目录(如 -o./output)
-p 设置密码(如 -p123456)
-mx=9 最高压缩率(1-9,9为最慢但压缩率最高)
-v 分卷压缩(如 -v100m 分割为 100MB 文件)
-t 指定压缩格式(如 -tzip、-t7z)

四、示例场景

1. 分卷压缩大文件

7z a -v100m -mx=9 bigfile.7z bigfile.iso  # 分割为 100MB 的卷(bigfile.7z.001, .002...)

2. 加密压缩敏感文件

7z a -pMyPassword -mhe=on secret.7z secret.txt  # -mhe=on(加密文件名)

3. 仅列出压缩包内容

7z l archive.zip  # 查看压缩包内的文件列表

五、注意事项

安装 7-Zip:

  • Windows:从官网下载安装,并将 7z.exe 添加到系统 PATH。
  • Linux:使用包管理器安装(如 sudo apt install p7zip-full)。

兼容性:

  • .zip 格式兼容性最好,但 .7z 压缩率更高。
  • 解压 .rar 需额外安装插件(如 p7zip-rar)。

性能建议:

  • 高压缩率(-mx=9)会显著增加压缩时间,适用于存储场景。
  • 快速压缩和解压建议使用 -mx=1.zip 格式。

掌握这些命令后,你可以高效地处理大多数压缩和解压需求,如果需要与其他工具兼容,推荐使用 .zip 或 .tar.gz;若追求极限压缩,.7z 是最佳选择。