Linux基本命令篇 —— zip/unzip命令

发布于:2025-07-04 ⋅ 阅读:(22) ⋅ 点赞:(0)

        掌握zip和unzip命令可以让你在Linux环境下高效地处理压缩文件,无论是备份、传输还是归档文件都非常有用。

目录

一、zip命令

1、基本语法

2、常用选项

3、使用示例

压缩单个文件        

压缩多个文件

压缩目录(递归压缩)

加密压缩

压缩时排除某些文件

使用最高压缩率(了解)

更新压缩包中的文件

二、unzip命令

1、基本语法

2、常用选项

3、使用示例

解压到当前目录

解压到指定目录

列出压缩包内容但不解压

解压加密的zip文件

安静模式解压(不显示解压过程)

测试zip文件完整性

解压时不覆盖已有文件

三、实用技巧

批量解压多个zip文件

压缩时排除特定类型文件

查看zip文件注释

创建自解压zip文件(需要zipinfo支持)(了解即可)

分卷压缩(需要先使用split命令)(了解即可)

合并分卷zip文件(了解即可)

四、注意事项


        在 Linux 系统中使用 zip 和 unzip 命令之前,需要确保系统已经安装了相应的软件包,你可以根据你的Linux 发行版搜索相关的安装方法,以下是Red Hat/CentOS/RHEL/Fedora发行版的安装方法: 

# CentOS/RHEL 7/8/9 和 Fedora
sudo yum install zip unzip

一、zip命令

zip是Linux下常用的压缩工具,用于将文件或目录压缩成.zip格式的压缩包。

1、基本语法

zip [选项] 压缩包名 源文件或目录

2、常用选项

选项 说明
-r 递归压缩(包括子目录和文件)
-q 安静模式,不显示指令执行过程
-e 加密压缩,会提示输入密码
-1~-9 压缩级别,1最快但压缩率低,9最慢但压缩率高
-x 排除某些文件不压缩
-m 压缩后删除源文件
-F 尝试修复损坏的压缩文件
-u 更新压缩包中的文件
-v 显示详细压缩过程
-T 测试压缩文件是否完整

3、使用示例

  1. 压缩单个文件        

    zip archive.zip file.txt

            在 zip 命令的输出中,显示的 14% 表示 压缩率,即压缩后的文件大小是原文件大小的 14%,或者说压缩节省了 86% 的空间:

  2. 压缩多个文件

    zip archive.zip file1.txt file2.txt

  3. 压缩目录(递归压缩)

    zip -r archive.zip directory/

  4. 加密压缩

    zip -e secure.zip file.txt
    # 会提示输入密码

  5. 压缩时排除某些文件

    zip archive.zip * -x "exclude.txt"

    参数说明:
    archive.zip:生成的压缩文件名。
    *:匹配当前目录所有文件(但会排除 exclude.txt)。
    -x "exclude.txt":排除指定的文件(支持通配符,如 *.log)。

  6. 使用最高压缩率(了解)

    zip -9 maximum.zip largefile.iso

    参数 说明
    dd 磁盘操作工具(disk dump),用于按字节流读写数据。
    if=/dev/zero 输入文件(input file),/dev/zero 是 Linux 特殊设备,提供无限的空字节(ASCII 0);/dev/zero 会持续输出 0x00(二进制零),因此生成的文件内容全是 0
    of=largefile.iso 输出文件(output file),生成的文件名。
    bs=1M 块大小(block size),每次读写 1MB 数据(1M = 1MiB = 1024×1024 字节)。
    count=100 操作次数,总共写入 100 个块(100 × 1MB = 100MB)。
  7. 更新压缩包中的文件

    zip -u archive.zip newfile.txt


二、unzip命令

unzip用于解压.zip格式的压缩文件。

1、基本语法

unzip [选项] 压缩包名 [-d 目标目录]

2、常用选项

选项 说明
-l 列出压缩包内容但不解压
-d 指定解压目录
-o 不询问直接覆盖已有文件
-n 不覆盖已有文件
-q 安静模式,不显示解压过程
-P 直接指定密码(不安全)
-v 查看压缩包详细信息
-t 测试压缩文件完整性

3、使用示例

  1. 解压到当前目录

    unzip archive.zip

  2. 解压到指定目录

    unzip archive.zip -d ~/path/to/directory

  3. 列出压缩包内容但不解压

    unzip -l archive.zip

  4. 解压加密的zip文件

    unzip -P password secure.zip
    # 或者不指定密码,会提示输入
    unzip secure.zip

  5. 安静模式解压(不显示解压过程)

    unzip -q archive.zip

  6. 测试zip文件完整性

    unzip -t archive.zip

  7. 解压时不覆盖已有文件

    unzip -n archive.zip


三、实用技巧

  1. 批量解压多个zip文件

    unzip '*.zip'
  2. 压缩时排除特定类型文件

    zip archive.zip * -x "*.tmp" "*.log"
  3. 查看zip文件注释

    unzip -z archive.zip

  4. 创建自解压zip文件(需要zipinfo支持)(了解即可)

    echo '#!/bin/sh' > installer.sh
    echo 'tail -n +4 "$0" | unzip -q -' >> installer.sh
    echo 'exit' >> installer.sh
    zip -r archive.zip files/
    cat archive.zip >> installer.sh
    chmod +x installer.sh
  5. 分卷压缩(需要先使用split命令)(了解即可)

    zip -r -s 64m archive.zip large_directory/
    # 这会创建archive.z01, archive.z02,... archive.zip
  6. 合并分卷zip文件(了解即可)

    zip -s 0 split.zip --out unsplit.zip

四、注意事项

  1. zip/unzip对中文文件名支持良好,但建议在解压时使用相同的字符集环境

  2. 加密zip文件使用传统加密方式,安全性不高,重要数据应考虑使用7z等更安全的加密方式(了解)

  3. 大文件压缩时,使用-1到-9选项可以平衡速度与压缩率

  4. 解压时如果遇到文件名冲突,默认会询问如何处理,可以使用-o或-n选项避免交互

  5. zip格式在Linux和Windows间有良好的兼容性,适合跨平台文件交换


网站公告

今日签到

点亮在社区的每一天
去签到