linux 命令:zip 详解

2023-11-18

zip 命令的功能是打包和压缩文件。

用法

        zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]

        如果 zipfile 未提供,压缩标准输入并把结果写到标准输出。

选项

        -A         调整自解压程序。

        -c          添加单行注释。

        -d         从 zipfile 中删除条目。

        -db        展示正在执行的字节数和尚未执行(压缩)的字节数。

        -dc        展示正在执行的文件数和尚未执行(压缩)的文件数。

        -dd        每10MB展示为一个点。

        -dg        将整个归档用点代表,而不是为每个文件。

        -ds        每个点都代表一个 siz ,其中 siz 是以 nm 为单位作为分割(0 代表没有点)。

        -D         不添加目录条目。

        -DF      也写作 --dif。只包括有改变的文件或比输入归档较新的文件。

        -e         设置解压权限,使用标准(弱)PKZip 2.0 编码,提示输入密码。

        -f          只更新有改变的文件。

        -F        修复 zipfile(-FF 更努力地修复)。拷贝潜在损坏的归档中的文件到新归档中。                      -F 尝试正常读取归档并仅复制完整条目,而 -FF 尝试挽救可能导致不完整条目                      的内容。必须使用 --out 指定输出的归档。使用 -v 查看详细信息。

        -FS      如果日期或大小改变了就更新,系统不存在的文件就删除。

        -i          压缩时只包括的文件。

        -ic        大小写不敏感。

        -j          不压缩目录,只压缩文件。

        -J         删除 zipfile 中的前缀(unzipsfx)。

        -l          将 LF 转换为 CR LF (-ll 是将 CR LF 转换为 LF)。

        -lf path  打开 path 的文件作为日志文件(覆盖已存在的文件)。

        -la         追加到已存在的日志文件。

        -li          包括 info 信息(默认只有警告和错误信息)。

        -m         将文件移动到 zipfile 中,并从系统中删除源文件。

        -n          不压缩具有指定后缀的文件。

        -o          以压缩文件列表中最新的文件的更新时间为压缩文件的更新时间。

        --out     输出到新的归档。如果输入是拆分的,输出将会默认为相同的拆分大小。使用                         -s=0 或 -s- 来关闭拆分。如果覆盖旧的拆分归档,但是需要的拆分数量较少,                       旧的拆分归档没有被覆盖的就保持原状。

        -P         使用标准编码,设置密码。

        -q         不显示执行过程。

        -r          递归目录。

        -R         递归当前目录中匹配的文件。

        -s ssize 使用大小为 ssize 的拆分文件大小创建拆分存档。

        -sp        在每个拆分操作结束时暂停,来切换磁盘。

        -sb        暂停时响铃。

        -sv        创建拆分时显示详细信息。

        -sf        展示操作的文件后退出(-sf- 日志文件专属)。

        -su        类似 -sf 但是展示转义 UTF-8 Unicode 名称,如果存在。

        -sU        类似 -sf 但是展示转义 UTF-8 Unicode 名称。

        -t          包括在指定日期当天货之后有修改的文件。

        -tt         包括在指定日期之前有修改的文件。日期格式(mmddyyyy 或 yyyy-mm-dd)。

        -T         测试 zipfile 的完整性。

        -TT cmd 使用命令 cmd 测试归档。      

        -u         只更新有改变的文件或新文件。

        -U        从 zipfile 中选择文件复制(和 --out 一起使用)。等于 --copy。

        -v         显示详细执行信息。如果只执行 “zip -v”,则展示版本信息。

        -x         压缩时排除文件。

        -X        排除额外的文件属性。

        -y         将软链作为链接保存,而不是作为文件。

        -z         添加 zipfile 的注释。

        -Z         后接压缩方式:store(只保存,等于 -0),deflate(压缩,默认值),如果系统支                         持 bzip2,可以使用 bzip2 方式。

        -0        只保存,不压缩。

        -1~-9   1是更快地压缩,9是更好地压缩,默认值是6。

        -@       从标准输入读取文件名。

通配符

        ?        匹配任意单个字符。

        *         匹配任意个数的字符,包括0(0 到 正无穷)

        [list]    匹配 list 中的字符(正则),可以使用范围表示 [ac-f],排除字符 [!bf]

一般情况下,* 会跨越目录级别,比如 'a*b' 可以匹配 'ac/db'。如果使用 -ws,* 不会跨越,  **会跨越。

使用示例:

1.  递归当前目录并压缩以 .h 为结尾的文件:

        zip zipfile -r . -i "*.h"

2. 压缩 path 到 zipfile,排除 pattern:

        zip -x pattern pattern @ zipfile path path ...

3. 归档更新:

        zip zipfile -FS -r dir

4. 从 inarchive 复制 pattern 文件到 outarchive:

        zip inarchive --copy pattern pattern ... --out outarchive

5. 从 old_archive 复制以 .c 结尾的文件(排除foo.c)到 new_archive:

        zip old_archive --copy "*.c" --out new_archive -x foo.c

6. 修复 bad.zip 为 fixed.zip:

        zip -F bad.zip --out fixed.zip

        zip bad.zip -FF -v --out fixed.zip

7. 递归当前目录,如果有 foofull 中没有的文件或有改变的文件,就压缩到 foonew 中:

        zip -r foofull . -DF --out foonew

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux 命令:zip 详解 的相关文章

随机推荐

  • C++day2作业(2023.8.22)

    1 定义一个学生的结构体 包含学生的姓名 年龄 成绩 性别 学生的成绩 姓名 定义为私有权限 定义一个学生类型的结构体变量 设置公有函数用于给学生的成绩和名字进行赋值 结构体中的函数 结构体中声明 结构体外定义 include
  • UVa 12504 Updating a Dictionary

    Problem uva onlinejudge org index php option com onlinejudge Itemid 8 page show problem problem 3948 题意 貌似是模拟 Source Cod
  • 解读云原生的2021:抢占技术C位,迎来落地大爆发

    来源 InfoQ 作者 褚杏娟 2021年 云原生迎来黄金时代 本文是 2021 InfoQ 年度技术盘点与展望 系列文章 重点聚焦云原生领域在 2021 年的重要进展 动态 希望能帮助你准确把握 2021 年云原生领域的核心发展脉络 在行
  • r语言写九九乘法表并保存为txt文件

    r语言写九九乘法表并保存为txt文件 代码 for i in 1 9 for j in 1 i cat j x i i j t file 九九乘法表 txt append TRUE cat n file 九九乘法表 txt append T
  • Nacos-Server用户权限控制无效解决方案

    场景 nacos server默认账户是 nacos nacos 此用户权限太大 有时候为了安全起见会建立多个用户 给予不同的角色权限 但建立用户后发现权限不起作用 分析 nacos默认不开启权限控制 如果想使用权限控制功能 需要在 con
  • etp服务器怎么连接共享文件夹,Everything共享文件操作方法

    以前我们要想共享一些文件给朋友 最常见的方法就是通过网盘来完成 但是这样的共享并不是朋友们都喜欢的 其实利用著名的搜索工具Everything 我们就可以在电脑中划出一部分区域 从而快速搭建一个用于分享的服务器平台 这样我们可以将自己发现的
  • visual studio code怎么用root/sudo调试远程程序?

    vs code是款微软出品不错的编辑器 可以远程编辑 处理服务器上的文件 支持c php python java等各种语言 在调试c 程序 的时候遇到了一个问题 编辑代码是用的普通用户 但调试的时候需要用root启动 如果启动调试出现要求密
  • Python 安装模块后找不到模块以及Python代码自动补全设置的一个思路

    起因是在做一些小玩意时安装了一些模块 但是运行时却找不到模块 于是多次重装VScode里边的Python部分 导致VScode自动补全也被玩掉了 查了很久的才终于搞回来 先把找到的一个有用链接放这 免得找不到了如何使用Visual Stud
  • 使用labelme打标签,详细教程

    做图像语义分割 打标签时需要用到labelme这个工具 我总结了它的详细使用教程 目录 一 安装labelme工具 二 文件位置关系 三 labelme工具 四 labelme工具的快捷键 五 代码 将标签文件转为统一固定格式 六 总结 一
  • Jdk8 之 Stream流详细用法(一)

    本篇文章参考云深i不知处的文章 原文链接 https blog csdn net mu wind article details 109516995 一 概述 Stream 是 Java8 中处理集合的关键抽象概念 它可以指定你希望对集合进
  • 21.5 CSS 网页布局方式

    网页布局方式 网页布局方式 是指浏览器对网页中的元素进行排版的方法 常见的网页布局方式包括 1 标准流 文档流 普通流 布局 这是浏览器默认的排版方式 元素按照其在文档中的位置依次排列 可以使用CSS的盒模型属性进行水平和垂直布局 2 浮动
  • ipad投屏软件_无线投屏操作指南 轻松分享

    下发福利 智能会议的无线投屏 支持Windows Mac OS ios Android 一键投屏 随时批注 能够满足一分四屏 灵活进行大小屏互控 帮助企业突破 线 制 以下内容为无线投屏的操作指南 01 Windows 与 Mac OS系统
  • OOMMF手册整理

    如果您得系统Tcl Tk安装就是非线程得 那么您可以创建一个非线程版本得OOMMF 否则您可以在您得主目录或 usr local下创建一个额外得 线程化得Tcl Tk安装 请注意 如果您得系统上安装了多个Tcl Tk安装 则无论何时您构建或
  • Springboot未注入的类使用Spring容器的实体类,实体类又需要插入yml的数据,实体类属于Spring容器。

    Springboot中Bean的注入 我们都知道 Springboot可以使用方法级别注解 Bean 和类级别注解 Controller Component Service等 加包扫描的方式注入Beans 实现交给Spring容器管理 这样
  • R各个包里面的数据集列表

    Package Item Title csv doc datasets AirPassengers Monthly Airline Passenger Numbers 1949 1960 CSV DOC datasets BJsales S
  • STM32串口中断接收方式详细比较

    本例程通过PC机的串口调试助手将数据发送至STM32 接收数据后将所接收的数据又发送至PC机 具体下面详谈 实例一 void USART1 IRQHandler u8 GetData u8 BackData if USART GetITSt
  • stata--异方差检验

    异方差检验有两种方法 1 残差图 2 white检验 1 残差图 一般不用这个 这个只是粗略 代码 reg y fdi rvfplot yline 0 rvpplot fdi yline 0 1 对y和fdi回归 2 画出残差与拟合值 y
  • Doc2Vec的简介及应用(gensim)

    作者 Gidi Shperber 在本文中 你将学习什么是doc2vec 它是如何构建的 它与word2vec有什么关系 你能用它做什么 并且没有复杂的数学公式 介绍 文本文档的量化表示在机器学习中是一项具有挑战性的任务 很多应用都需要将文
  • ajax实现文件上传

    没有使用插件 一 单文件上传
  • linux 命令:zip 详解

    zip 命令的功能是打包和压缩文件 用法 zip options b path t mmddyyyy n suffixes zipfile list xi list 如果 zipfile 未提供 压缩标准输入并把结果写到标准输出 选项 A