Linux常用命令学习笔记:7z

一、命令简介

7z是7-Zip压缩软件的命令行版本,支持多种压缩格式(7z、ZIP、GZIP、BZIP2、TAR等),具有高压缩比和丰富的功能选项。

二、安装方法

Linux系统安装

# Ubuntu/Debian系统
sudo apt-get update
sudo apt-get install p7zip-full -y

# CentOS/RHEL系统
sudo yum install epel-release
sudo yum install p7zip p7zip-plugins

# Fedora系统
sudo dnf install p7zip-full

# Arch Linux系统
sudo pacman -S p7zip

Windows系统安装

从7-Zip官网(https://www.7-zip.org/)下载安装包,安装后可将安装目录添加到系统PATH环境变量以便在命令行直接使用。

三、基本语法

7z <命令> [<开关>...] <压缩文件名> [<文件/目录>...]

四、核心命令详解

命令功能说明示例
a添加文件到压缩包(创建压缩包)7z a archive.7z file.txt
x提取完整路径的文件(保留目录结构)7z x archive.7z
e从压缩包中提取文件(不使用目录名)7z e archive.7z
l列出压缩包的内容7z l archive.7z
t测试压缩包的完整性7z t archive.7z
d从压缩包中删除文件7z d archive.7z file.txt
u更新压缩包中的文件7z u archive.7z newfile.txt
rn重命名压缩包中的文件7z rn archive.7z old.txt new.txt

五、常用参数选项

压缩相关参数

  • -t{格式}:指定压缩格式(7z、zip、gzip等),默认7z
  • -mx{0-9}:设置压缩级别(0不压缩,9极限压缩)
  • -mmt{N}:设置CPU线程数量
  • -p{密码}:设置压缩密码
  • -mhe=on:加密文件名(仅7z格式支持)

解压相关参数

  • -o{目录}:指定输出目录(注意:-o后无空格)
  • -ao{a|s|t|u}:设置覆盖模式
    • -aoa:直接覆盖现有文件
    • -aos:跳过已存在文件
    • -aou:自动重命名新文件
    • -aot:自动重命名旧文件
  • -p{密码}:解压密码

文件处理参数

  • -r:递归处理子目录
  • -x{文件}:排除指定文件
  • -y:对所有提示回答”Yes”

分卷压缩参数

  • -v{大小}[b|k|m|g]:创建分卷压缩
    • 示例:-v10m(每卷10MB)
    • 示例:-v1g(每卷1GB)

六、常用操作示例

1. 基本压缩操作

# 压缩单个文件
7z a archive.7z file.txt

# 压缩多个文件
7z a archive.7z file1.txt file2.txt file3.txt

# 压缩目录(递归)
7z a archive.7z -r directory/

# 使用zip格式压缩
7z a -tzip archive.zip file.txt

# 最高压缩级别
7z a -mx9 archive.7z file.txt

2. 加密压缩

# 设置密码压缩
7z a -p123456 archive.7z file.txt

# 加密文件名(仅7z格式)
7z a -p123456 -mhe=on archive.7z file.txt

3. 分卷压缩

# 分卷压缩(每卷500MB)
7z a -v500m archive.7z largefile.iso

# 指定多个分卷大小
7z a archive.7z -v10k -v15k -v2m file.txt

4. 解压操作

# 解压到当前目录(保留目录结构)
7z x archive.7z

# 解压到指定目录
7z x archive.7z -o/target/directory

# 解压加密文件
7z x -p123456 archive.7z

# 解压分卷文件(只需第一个分卷)
7z x archive.7z.001

5. 查看和测试

# 查看压缩包内容
7z l archive.7z

# 测试压缩包完整性
7z t archive.7z

# 测试分卷压缩包
7z t archive.7z.001

6. 更新和删除

# 更新压缩包中的文件
7z u archive.7z newfile.txt

# 从压缩包中删除文件
7z d archive.7z oldfile.txt

七、高级用法

排除特定文件

# 压缩时排除.log文件
7z a archive.7z directory/ -x!*.log

# 排除多个文件类型
7z a archive.7z directory/ -x!*.log -x!*.tmp

多线程压缩

# 使用4个线程压缩
7z a -mmt4 archive.7z largefile.iso

从标准输入读取数据

# 从管道压缩
cat file.txt | 7z a -si archive.7z

# 解压到标准输出
7z x -so archive.7z file.txt

八、注意事项

  1. 密码安全:避免在命令行中直接使用-p参数指定密码,建议使用交互式输入或环境变量,防止密码泄露到命令历史中
  2. 分卷解压:解压分卷压缩包时只需指定第一个分卷(如archive.7z.001),7z会自动识别后续分卷
  3. 输出目录:使用-o参数时,注意参数后无空格直接接目录路径
  4. 中文支持:处理中文文件名时建议统一使用UTF-8编码,避免乱码问题
  5. 性能优化:对于大文件,可使用-mmt参数启用多线程压缩,提升压缩速度
  6. 压缩格式选择
    • 7z格式:压缩率最高,但兼容性较差
    • zip格式:兼容性最好,但压缩率较低
    • 根据实际需求选择合适的压缩格式
  7. 工具依赖:确保系统已安装7z工具,可通过7z --help查看帮助信息

7z命令功能强大,支持丰富的参数选项,可根据实际需求灵活组合使用。建议在使用前通过man 7z7z --help查看详细的帮助文档。


作 者:南烛
链 接:https://www.itnotes.top/archives/759
来 源:IT笔记
文章版权归作者所有,转载请注明出处!


上一篇
下一篇