• Linux命令之压缩zip


    概述

    zip 命令的功能是用于压缩文件,解压命令unzip。压缩后不覆盖源文件,可以压缩目录。

    在这里插入图片描述

    通过 zip 命令可以将文件打包成.zip格式的压缩包,里面会附含文件的名称、路径、创建时间、上次修改时间等等信息,与 tar 命令相似。

    语法

    该命令的语法如下:

    zip [选项] [参数] [文件]
    
    • 1

    该命令支持的选项有:

    选项

    说明

    -q

    不显示指令执行过程

    -r

    递归处理,将指定目录下的所有文件和子目录一起处理

    -z

    给压缩文件加上注释

    -v

    显示指令的执行过程

    -d

    删除压缩包内的文件

    -n <后缀>

    不压缩具有特定后缀的文件

    -e

    加密压缩文件

    -u

    更新或追加文件到压缩包内

    -f

    更新现有的文件

    -m

    将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中

    -o

    以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同

    参数通常是指压缩文件名。

    使用

    压缩目录和文件【★★★★★】

    要压缩当前目录的指定文件和目录,命令格式如下:

    # 语法
    zip -r 压缩包名 待压缩的文件和目录列表
    # 示例,将文件 log.txt、test.txt 和目录 test/ 压缩到 test.zip 文件中
    zip -r test.zip log.txt test/ test.txt
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    注:如果要压缩当前目录下的所有文件,可以用通配符 *,即命令是 zip -r 压缩包名 *。也可以用 *.txt 表示压缩指定 .txt 后缀的所有文件。

    从压缩包中删除指定文件

    可以通过 -d 选项删除压缩包中的指定文件:

    # 语法
    zip -d 压缩包名 指定待删除文件
    # 示例,从压缩包 test.zip 中删除 log.txt 文件
    zip -d test.zip log.txt
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    更新压缩包中的文件

    如果某个文件发生了变化,我们想要将其更新到压缩包中,可以使用 -f 选项。语法如下:

    # 语法
    zip -f 压缩包名 待更新的文件
    zip -u 压缩包名 待更新或追加的文件
    # 示例,更新压缩包 test.zip 中的 test.txt 文件
    zip -f test.zip test.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    注:zip -fzip -u 的更新是区别的,前者只能更新已有的文件,如果压缩包中不存在这个文件则不会进行更新,也不会追加;而后者如果压缩包中存在这个文件则会进行更新,如果不存在则会进行追加到压缩包内。

    在这里插入图片描述

    加密压缩

    可以使用 -u 选项对压缩包进行加密:

    # 语法
    zip -e 压缩包名 待压缩文件或目录
    # 示例
    zip -e mypasswd.zip /etc/passwd
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

  • 相关阅读:
    背包问题学习笔记-二维费用的背包问题
    ArmSom-W3开发板之PCIE的开发指南(二)
    CentOS安装/卸载Anaconda(图文详解)
    无动物型胶原酶丨Worthington的多种应用方案
    JavaFX笔记
    java中的多态
    51单片机笔记:定时器/计数器
    空间滤波-统计排序滤波器
    stm32h743驱动TFTLCD液晶屏显示图片+汉字(快速上手,只教怎么用,不讲原理!)
    选择正确的 React 状态管理解决方案的指南
  • 原文地址:https://blog.csdn.net/egegerhn/article/details/126595953