服务器测评网
我们一直在努力

7z linux 命令

7z 是一款开源的高压缩率文件归档工具,最初由 Igor Pavlov 开发,是 7-Zip 项目的一部分,它支持多种压缩算法,包括 LZMA、LZMA2、PPMD、BCJ2 等,能够实现比传统工具(如 zip、gzip)更高的压缩率,同时支持加密、分卷压缩、固实压缩等高级功能,在 Linux 系统中,7z 通过命令行工具 p7zip 提供,广泛应用于数据备份、文件传输、存储优化等场景,本文将详细介绍 7z 在 Linux 中的安装方法、常用命令及高级用法,帮助用户高效管理文件。

7z linux 命令

7z 的安装与准备工作

在 Linux 系统中使用 7z 前,需先安装对应的软件包,不同发行版的安装命令略有差异:

基于 Debian/Ubuntu 的系统

使用 apt 包管理器安装,执行以下命令:

sudo apt update
sudo apt install p7zip-full

p7zip-full 包含完整的 7z 工具(支持 7z、xz、bz2 等格式),而 p7zip 仅包含基础功能,建议安装完整版。

基于 CentOS/RHEL 的系统

使用 yumdnf 包管理器安装:

sudo yum install p7zip p7zip-plugins  # CentOS 7 及以下
sudo dnf install p7zip p7zip-plugins  # CentOS 8 及以上

基于 Arch Linux 的系统

Arch Linux 默认仓库中包含 p7zip,直接安装即可:

sudo pacman -S p7zip

安装完成后,可通过以下命令验证是否安装成功:

7z --version

若显示版本信息及支持的算法,则表示安装成功。

7z 基本命令操作

7z 的命令语法简洁,核心操作包括压缩、解压、查看列表等,以下为常用命令的详细说明。

压缩文件:7z a(add)

a 命令用于将文件或目录添加到归档文件中,支持递归压缩目录,基本语法为:

7z a [归档文件名] [文件/目录路径]

示例:

  • 压缩单个文件:

    7z a documents.7z report.txt notes.txt

    report.txtnotes.txt 压缩为 documents.7z

  • 压缩整个目录:

    7z a project_backup.7z /home/user/project/

    递归压缩 /home/user/project/ 目录及其所有子目录和文件。

  • 压缩时设置压缩级别(0-9,默认为 5,9 为最高压缩率):

    7z a -mx9 large_file.7z data/

解压文件:7z x(extract)

x 命令用于解压归档文件,会保留归档中的目录结构,基本语法为:

7z x [归档文件名] [-o输出目录]

示例:

  • 解压到当前目录:

    7z linux 命令

    7z x documents.7z
  • 解压到指定目录:

    7z x project_backup.7z -o/home/user/restore

    /home/user/restore 不存在,7z 会自动创建。

  • 解压时覆盖已存在文件(默认提示覆盖):

    7z x documents.7y -y

    -y 参数表示自动确认所有提示。

查看归档内容:7z l(list)

l 命令用于列出归档文件中的内容,不实际解压,基本语法为:

7z l [归档文件名]

示例:

  • 列出 documents.7z 的详细内容(包括文件大小、压缩比、时间戳等):

    7z l documents.7z

    输出结果包含 Date(修改时间)、Attr(文件属性)、Size(原始大小)、Compressed(压缩后大小)等列,帮助用户快速了解归档信息。

  • 仅列出文件名(简化输出):

    7z l documents.7z | grep "Path"

列出归档文件:7z v(verbose list)

v 命令是 l 的增强版,提供更详细的归档信息,包括压缩方法、CRC 校验码等,基本语法为:

7z v [归档文件名]

示例:

7z v large_file.7z
```会显示每个文件的压缩算法、字典大小、固实块信息等,适用于调试或分析压缩效果。
#### 5. 从归档中删除文件:`7z d`(delete)
`d` 命令用于从归档中删除指定文件,会修改原归档文件,基本语法为:
```bash
7z d [归档文件名] [文件名]

示例:

  • documents.7z 中删除 notes.txt
    7z d documents.7z notes.txt

测试归档完整性:7z t(test)

t 命令用于测试归档文件的完整性,检查文件是否损坏或 CRC 校验是否失败,基本语法为:

7z t [归档文件名]

示例:

7z t project_backup.7z

若输出显示 Everything is Ok,则表示归档文件完整;否则会提示损坏的文件位置。

7z 高级用法

除基本命令外,7z 支持多种高级功能,可满足复杂场景需求。

加密压缩:-p 密码 + -mhe=on

7z 支持 AES-256 加密,可通过 -p 参数设置密码,-mhe=on 表示加密文件头(避免文件名泄露),基本语法为:

7z a -p[密码] -mhe=on [归档文件名] [文件路径]

示例:

7z linux 命令

7z a -pMySecurePass123 -mhe=on private.7z secret.txt

解压时需输入密码:

7z x private.7z

分卷压缩:-v 大小

分卷压缩将大文件分割为多个小文件,适用于存储或传输限制,基本语法为:

7z a -v[大小单位] [归档文件名] [文件路径]

大小单位支持 K(KB)、M(MB)、G(GB),10M 表示每个分卷 10MB。

示例:

  • large_file.iso 分割为每卷 100MB 的压缩包:
    7z a -v100M large_file_split.7z large_file.iso

    生成的文件名为 large_file_split.7z.001large_file_split.7z.002 等,解压时需确保所有分卷在同一目录,执行:

    7z x large_file_split.7z.001

固实压缩:-ms=on

固实压缩(Solid Compression)将多个文件视为一个连续数据流压缩,可显著提高压缩率(尤其适用于大量小文件),但会降低随机访问速度,基本语法为:

7z a -ms=on [归档文件名] [文件路径]

示例:

7z a -ms=on archive_solid.7z *.txt

排除文件:-x 模式

压缩时可通过 -x 参数排除特定文件或目录,支持通配符(、),基本语法为:

7z a [归档文件名] [路径] -x![排除模式]

示例:

  • 压缩 project/ 目录,排除所有 .log 文件:
    7z a project_clean.7z project/ -x!*.log
  • 排除特定目录(如 temp/):
    7z a project_clean.7z project/ -x!project/temp

使用不同压缩算法:-m0=

7z 支持多种压缩算法,可通过 -m0= 指定,

  • LZMA2:默认算法,高压缩率,适合大文件;
  • PPMD:适合文本文件,压缩率高但速度慢;
  • Deflate:兼容 zip 格式,速度快但压缩率低。

示例:

  • 使用 PPMD 算法压缩文本文件:
    7z a -m0=PPMD -mx9 text_archive.7z *.txt

实际应用场景

备份重要数据

结合加密和固实压缩,可高效备份敏感数据:

7z a -pBackup2024 -mhe=on -ms=on /backup/user_data.7z /home/user/documents/ /home/user/photos/

传输大文件

通过分卷压缩将大文件分割为多个小文件,便于邮件发送或上传至限制文件大小的平台:

7z a -v20M large_file_transfer.7z movie.mp4

节省存储空间

对不常用的文件(如旧日志、历史数据)使用最高压缩率归档,释放磁盘空间:

7z a -mx9 -ms=on archive_old.7z /var/log/archive/

软件打包分发

将软件源码或二进制文件打包为 7z 格式,减少用户下载时间:

7z a -mx9 myapp-1.0.7z myapp/src/ myapp/bin/

注意事项

  1. 权限问题:压缩或解压时需确保对源文件有读取权限,对目标目录有写入权限。
  2. 压缩算法选择:高压缩率(如 LZMA2-mx9)会消耗更多 CPU 资源,建议根据场景平衡速度与压缩率。
  3. 密码安全:加密压缩的密码需妥善保管,7z 加密强度高,但密码遗忘后无法恢复文件。
  4. 跨平台兼容性:7z 格式在 Windows、Linux、macOS 上均可使用,但部分高级功能(如固实压缩)可能在其他工具中兼容性较差。

7z 凭借其高压缩率、开源免费和丰富的功能,成为 Linux 系统中文件管理的利器,通过掌握基本命令(axlt)和高级用法(加密、分卷、固实压缩等),用户可灵活应对备份、传输、存储等多种需求,合理使用 7z 不仅能提升工作效率,还能有效优化磁盘空间利用,是 Linux 用户必备的工具之一。

赞(0)
未经允许不得转载:好主机测评网 » 7z linux 命令