当前位置: 首页 > article >正文

Linux(Centos 7.6)命令详解:zip

1.命令作用

打包和压缩(存档)文件(package and compress (archive) files);该程序用于打包一组文件进行分发;存档文件;通过临时压缩未使用的文件或目录来节省磁盘空间;且压缩文件可以在Linux、Windows 和 macOS中轻松提取。

2.命令语法

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

3.参数详解

-options:

  • -d,创建或者更新归档压缩时,使用临时文件,-d用于指定临时文件目录
  • -t date,在date之前的时间排除(包括在此日期及之后修改<modify>的文件)
  • -tt date,包括date之前的时间(包括在日期之前修改<modify>的文件)
  • -f,freshen,如果文件系统上的归档文件较新,则更新归档文件的现有条目。不向存档中添加新文件。
  • -u,update,如果文件系统上的条目较新,则更新现有条目并添加新文件。如果存档不存在,则发出警告,然后创建一个新存档。
  • -d,delete,选择现有存档中的条目并删除它们。
  • -m,move,将指定的文件移动/添加到zip存档中;移动/添加到zip存档后删除目标文件/目录。如果删除文件后目录变为空,则该目录也将被删除。建议与-T结合使用。
  • -r,recurse,递归地遍历目录结构。
  • -j,junk,不记录目录名称;用于归档某目录下所有内容场景,并不归档内容上层的目录。
  • -l,归档/压缩时,将文件行尾的CR或者LF转换为CR LF(Unix->Win)
  • -ll,归档/压缩时,将文件行尾的CR LF转换为CR或者LF(Win->Unix)
  • -0,仅归档,不压缩;执行时提示stored则为普通归档并不压缩,提示deflated则会压缩。
  • -1,快速压缩,压缩比会比较低。
  • -9,更好的压缩,压缩比高,但压缩效率低。
  • -1~-9,1是快速压缩,9是高压缩比,默认为6
  • -Z cm,cm可指定store(同-0)、deflate(可选-1~-9)、bzip2(使用bzip2压缩)
  • -q,安静操作;与默认及-v详细对比看效果。
  • -v,verbose,打印详细操作信息。
  • -c,添加一行注释;可使用unzip -l查看注释。
  • -z,添加zip文件注释;可使用unzip -z查看注释。
  • -@,从stdin中读取名称,如:find . -name "*.txt" | zip -@ hahaha.zip
  • -o,效果是更新zip文件modify时间,zip文件的change时间不变(modify是修改文件内容会更新,change是修改文件属性会更新<如更新文件权限和文件所有者>),如zip -uo 
  • -x,排除以下名称
  • -i,只包括以下名称
  • -F,修复zip文件
  • -D,压缩目录不添加所有的目录,其他和默认无区别;具体观察zip -r 与zip -r -D归档压缩目录的区别
  • -A,调整可执行的自动解压缩文件,如zip -A zipfile(无明显效果)
  • -J,不记录zip文件前面不必要的数据,以减少zip文件的大小
  • -T,test,测试压缩文件的完整性
  • -X,不保留额外的文件属性,如文件的修改时间和访问权限,不保存这些信息可以减少压缩文件的大小,处理大量小文件时效果显著
  • -y,将符号链接/软链接存储为链接而不是引用的文件
  • -e,encrypt,归档/压缩文件时,对zip文件进行加密,使用unzip解压时需要密码解压
  • -n,不要压缩指定后缀的文件,仅stored归档存储,未指定的文件会压缩
  • -sf,查看zip文件的内容列表
  • -h2,提供更多帮助

4.常用用例

4.1.目录zip归档压缩(-r)

[root@node2 Desktop]# tree dir1/
dir1/
├── dir12
│   ├── file1.txt
│   ├── file5.txt
│   └── ln_file1.txt
├── file2.txt
├── file3.txt
├── file4.txt
└── file5.txt1 directory, 7 files
[root@node2 Desktop]# zip dir1.zip dir1/adding: dir1/ (stored 0%)
[root@node2 Desktop]# 
[root@node2 Desktop]# zip -r dir1.zip dir1/
updating: dir1/ (stored 0%)adding: dir1/file2.txt (deflated 66%)adding: dir1/file3.txt (deflated 66%)adding: dir1/file4.txt (deflated 66%)adding: dir1/file5.txt (deflated 66%)adding: dir1/dir12/ (stored 0%)adding: dir1/dir12/file5.txt (deflated 66%)adding: dir1/dir12/file1.txt (deflated 100%)adding: dir1/dir12/ln_file1.txt (deflated 100%)
[root@node2 Desktop]# 

4.2.显示zip归档压缩文件的文件列表

[root@node2 Desktop]# zip -sf filetxt.zip 
Archive contains:file2.txtfile4.txtfile5.txtfile6.txtfile7.txtfile8.txtfile9.txt
Total 7 entries (3132 bytes)
[root@node2 Desktop]# 

4.3.zip归档压缩文件内删除文件(-d)

[root@node2 Desktop]# zip -sf filetxt.zip 
Archive contains:file2.txtfile4.txtfile5.txtfile6.txtfile7.txtfile8.txtfile9.txt
Total 7 entries (3132 bytes)
[root@node2 Desktop]# zip -d filetxt.zip file2.txt
deleting: file2.txt
[root@node2 Desktop]# 
[root@node2 Desktop]# zip -sf filetxt.zip 
Archive contains:file4.txtfile5.txtfile6.txtfile7.txtfile8.txtfile9.txt
Total 6 entries (177 bytes)
[root@node2 Desktop]# 

4.4.更新zip归档压缩文件内的指定文件并删除指定的文件(-m)

[root@node2 Desktop]# zip -sf filetxt.zip 
Archive contains:file2.txtfile4.txtfile5.txtfile6.txtfile7.txtfile8.txtfile9.txt
Total 7 entries (3132 bytes)
[root@node2 Desktop]# ll file2.txt 
-rw-r--r--. 1 root root 2955 Mar  7 16:34 file2.txt
[root@node2 Desktop]# 
[root@node2 Desktop]# zip -m filetxt.zip file2.txt 
updating: file2.txt (deflated 96%)
[root@node2 Desktop]# 
[root@node2 Desktop]# ll file2.txt 
ls: cannot access file2.txt: No such file or directory
[root@node2 Desktop]# 

4.5.更新zip归档压缩文件中已经存在的文件(-u)

[root@node2 Desktop]# zip -sf filetxt.zip 
Archive contains:file4.txtfile5.txtfile6.txtfile7.txtfile8.txtfile9.txt
Total 6 entries (177 bytes)
[root@node2 Desktop]# ## file4.txt 文件更新后,将更新后的file4.txt更新到zip文件中
[root@node2 Desktop]# zip -u filetxt.zip file4.txt
[root@node2 Desktop]# 
[root@node2 Desktop]# zip -sf filetxt.zip 
Archive contains:file4.txtfile5.txtfile6.txtfile7.txtfile8.txtfile9.txt
Total 6 entries (177 bytes)
[root@node2 Desktop]# 

4.6.归档压缩同时给zip文件加密

[root@node2 Desktop]# zip -P passwdstr filetxt3.zip file*.txtadding: file4.txt (deflated 54%)adding: file5.txt (deflated 43%)adding: file6.txt (deflated 43%)adding: file7.txt (deflated 43%)adding: file8.txt (deflated 43%)adding: file9.txt (deflated 43%)
[root@node2 Desktop]# 
[root@node2 Desktop]# unzip filetxt3.zip     ## 解压时需要输入密码才行
Archive:  filetxt3.zip
[filetxt3.zip] file4.txt password: ## 或者使用明文密码
[root@node2 Desktop]# unzip -P passwdstr filetxt3.zip 
Archive:  filetxt3.zipinflating: file4.txt               inflating: file5.txt               inflating: file6.txt               inflating: file7.txt               inflating: file8.txt               inflating: file9.txt               
[root@node2 Desktop]# 

4.7.静默模式不显示任何信息(-q)

[root@node2 Desktop]# zip filetxt1.zip file*.txtadding: file4.txt (deflated 54%)adding: file5.txt (deflated 43%)adding: file6.txt (deflated 43%)adding: file7.txt (deflated 43%)adding: file8.txt (deflated 43%)adding: file9.txt (deflated 43%)
[root@node2 Desktop]# 
[root@node2 Desktop]# zip -q filetxt2.zip file*.txt
[root@node2 Desktop]#

4.8.指定压缩方式及压缩级别

[root@node2 Desktop]# zip -Z deflate -9 filetxt4.zip file*.txtadding: file4.txt (deflated 54%)adding: file5.txt (deflated 43%)adding: file6.txt (deflated 43%)adding: file7.txt (deflated 43%)adding: file8.txt (deflated 43%)adding: file9.txt (deflated 43%)
[root@node2 Desktop]# 

相关文章:

Linux(Centos 7.6)命令详解:zip

1.命令作用 打包和压缩(存档)文件(package and compress (archive) files)&#xff1b;该程序用于打包一组文件进行分发&#xff1b;存档文件&#xff1b;通过临时压缩未使用的文件或目录来节省磁盘空间&#xff1b;且压缩文件可以在Linux、Windows 和 macOS中轻松提取。 2.命…...

vulnhub靶场之【digitalworld.local系列】的snakeoil靶机

前言 靶机&#xff1a;digitalworld.local-snakeoil&#xff0c;IP地址为192.168.10.11 攻击&#xff1a;kali&#xff0c;IP地址为192.168.10.6 kali采用VMware虚拟机&#xff0c;靶机选择使用VMware打开文件&#xff0c;都选择桥接网络 这里官方给的有两种方式&#xff0…...

FPGA时序约束的几种方法

一,时钟约束 时钟约束是最基本的一个约束,因为FPGA工具是不知道你要跑多高的频率的,你必要要告诉工具你要跑的时钟频率。时钟约束也就是经常看到的Fmax,因为Fmax是针对“最差劲路径”,也就是说,如果该“最差劲路径”得到好成绩,那些不是最差劲的路径的成绩当然比…...

ClusterIP、Headless Service 和 NodePort 的比较

1. ClusterIP 1.1 定义 ClusterIP 是 Kubernetes 默认的 Service 类型&#xff0c;它会为 Service 分配一个虚拟的 IP 地址&#xff08;ClusterIP&#xff09;&#xff0c;这个 IP 是集群内部的虚拟地址&#xff0c;仅在集群内部有效。 1.2 工作原理 虚拟 IP&#xff1a;Clu…...

Ubuntu切换lowlatency内核

文章目录 一. 前言二. 开发环境三. 具体操作 一. 前言 低延迟内核&#xff08;Lowlatency Kernel&#xff09; 旨在为需要低延迟响应的应用程序设计的内核版本。Linux-lowlatency特别适合音频处理、实时计算、游戏和其他需要及时响应的实时任务。其主要特点是优化了中断处理、调…...

介绍一下Qt中的事件过滤

在 Qt 中&#xff0c;事件过滤&#xff08;Event Filter&#xff09;是一种强大的机制&#xff0c;它允许一个对象拦截并处理另一个对象接收到的事件。通过事件过滤&#xff0c;可以在事件到达目标对象之前对其进行监控和修改&#xff0c;这在很多场景下都非常有用&#xff0c;…...

C++修炼之路:初识C++

Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;《编程之路》、《数据结构与算法之美》、《题海拾贝》 欢迎点赞&#xff0c;关注&#xff01; 引言 …...

微信小程序+SpringBoot的单词学习小程序平台(程序+论文+讲解+安装+修改+售后)

感兴趣的可以先收藏起来&#xff0c;还有大家在毕设选题&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;我会一一回复&#xff0c;希望帮助更多的人。 系统背景 &#xff08;一&#xff09;社会需求背景 在全球化的大背景下&#xff0c;英语作为国际…...

快乐数 力扣202

一、题目 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1&…...

VBA 数据库同一表的当前行与其他行的主键重复判断实现方案1

目的&#xff0c;判断是否主键重复&#xff0c;不重复则登录新数据&#xff0c;重复则不登录。 定义类型&#xff1a; DataRecord   tableName 表名   rowNumber 行号   columnName 列名   data 数据 想要实现的代码逻辑如下&#xff1a; 模拟数据库的登录过程。假设…...

Java基础面试题全集

1. Java语言基础 1.1 Java是什么&#xff1f; • Java是一种广泛使用的编程语言&#xff0c;最初由Sun Microsystems&#xff08;现为Oracle公司的一部分&#xff09;于1995年发布。它是一种面向对象的、基于类的、通用型的编程语言&#xff0c;旨在让应用程序“编写一次&…...

3.激活函数:神经网络中的非线性驱动器——大模型开发深度学习理论基础

激活函数在神经网络中扮演着至关重要的角色&#xff0c;它为模型引入非线性因素&#xff0c;使得网络能够拟合复杂的数据分布&#xff0c;从而实现高效的特征提取与预测。本文将从实际开发角度出发&#xff0c;介绍激活函数的基本概念、常见激活函数&#xff08;如 ReLU、GELU、…...

VUE的第二天

1. 指令修饰符 1.1什么是指令修饰符&#xff1f; ​ 所谓指令修饰符就是通过“.”指明一些指令后缀 不同的后缀封装了不同的处理操作 —> 简化代码 1.2按键修饰符 keyup.enter —>当点击enter键的时候才触发 代码演示&#xff1a; <div id"app"><…...

Element Plus中的树组件的具体用法(持续更新!)

const defaultProps {//子树为节点对象的childrenchildren: children,//节点标签为节点对象的name属性label: name, } 属性 以下是树组件中的常用属性以及作用&#xff1a; data&#xff1a;展示的数据&#xff08;数据源&#xff09; show-checkbox&#xff1a;节点是否可…...

尚硅谷爬虫note14

一、scrapy scrapy&#xff1a;为爬取网站数据是&#xff0c;提取结构性数据而编写的应用框架 1. 安装 pip install scrapy 或者&#xff0c;国内源安装 pip install scrapy -i https&#xff1a;//pypi.douban.com/simple 2. 报错 报错1&#xff09;building ‘twisted.te…...

/***************************所有笔记汇总目录***************************/

文章分类目录 STM32CubeMX 01、STM32CubeMX——定时器&#xff08;普通模式和PWM模式&#xff09; 02、STM32CubeMX——串口&#xff08;HAL库&#xff09; 03、STM32CubeMX——(uart_IAP串口)简单示例 04、STM32CubeMX——ADC采集单通道&#xff0c;多通道&#xff0c;内部…...

Spring Framework中的IoC容器

控制反转(Inversion of Control, IoC)与面向切面编程(Aspect Oriented Programming, AOP)是Spring Framework中最重要的两个概念&#xff0c;本章会着重介绍前者。 2.1.1什么是IoC容器 使用XML来配置类实例 定义一个Java Bean类 在resources文件夹中定义一个beans.xml文件&a…...

永洪科技深度分析实战,零售企业的销量预测

随着人工智能技术的不断发展&#xff0c;智能预测已经成为各个领域的重要应用之一。现在&#xff0c;智能预测技术已经广泛应用于金融、零售、医疗、能源等领域&#xff0c;为企业和个人提供决策支持。 智能预测技术通过分析大量的数据&#xff0c;利用机器学习和深度学习算法…...

2.数据结构-栈和队列

数据结构-栈和队列 2.1栈2.1.1栈的表示和实现2.1.2栈的应用举例数制转换括号匹配检验迷宫给求解表达式求值 2.1栈 栈是限定仅在表尾进行插入或删除操作的线性表&#xff0c;因此&#xff0c;对栈来说&#xff0c;表尾端有其特殊含义&#xff0c;称为栈顶&#xff08;top&#x…...

C++ MySQL 常用接口(基于 MySQL Connector/C++)

C MySQL 常用接口&#xff08;基于 MySQL Connector/C&#xff09; 1. 数据库连接 接口&#xff1a; sql::mysql::MySQL_Driver *driver; sql::Connection *con;作用&#xff1a; 用于创建 MySQL 连接对象。 示例&#xff1a; driver sql::mysql::get_mysql_driver_insta…...

android studio开发文档

android基本样式 1.文本 2.设置文本大小 3.字体颜色 背景 资源文件 xml’引用资源文件 4.视图宽高 5.间距 6.对齐方式 常用布局 1.linearLayout线性布局 2.相对布局 RelativeLayout 3.网格布局GridLayout 4.scrollview滚动视图 Button 点击事件与长按事件 长按 按钮禁用与…...

Java 对象与类——从 C++ 到 Java

文章目录 面向对象程序设计概述使用预定义类用户自定义类静态字段与静态方法方法参数对象构造包JAR 文件文档注释类设计技巧 面向对象程序设计概述 面向对象程序设计&#xff08;OOP&#xff09;在 20 世纪 70 年代出现&#xff0c;是当今主流编程范型&#xff0c;Java 是面向…...

java2025年常见设计模式面试题

1. 请解释建造者模式&#xff08;Builder Pattern&#xff09;及其应用场景。 答案&#xff1a; 建造者模式用于创建一个复杂的对象&#xff0c;同时允许用户只通过指定复杂对象的类型和内容就能构建它们&#xff0c;隐藏了复杂的构建逻辑。 示例&#xff1a; public class C…...

一篇文章讲解清楚ARM9芯片启动流程

SAM9X60 ARM9 boot启动流程关键词介绍&#xff1a; 第一级bootloader - 也叫boot ROM&#xff0c;是集成在MPU内部的ROM里面 它的主要功能是执行对MPU的基本初始化和配置&#xff0c;查找并将第二级bootloader从外部NVM中读取出来并放到MPU内部的SRAM. 可以让MPU强制停留在第一…...

setlocale()的参数,“zh_CN.UTF-8“, “chs“, “chinese-simplified“的差异。

在 C/C 中&#xff0c;setlocale() 函数的参数 zh_CN.UTF-8、chs 和 chinese-simplified 均用于设置中文简体环境&#xff0c;但它们的语义、平台支持和编码行为存在显著差异&#xff1a; ​1. zh_CN.UTF-8&#xff08;推荐&#xff09;​ ​含义&#xff1a; zh_CN: 中文&…...

Python项目-基于Django的在线教育平台开发

1. 项目概述 在线教育平台已成为现代教育的重要组成部分&#xff0c;特别是在后疫情时代&#xff0c;远程学习的需求显著增加。本文将详细介绍如何使用Python的Django框架开发一个功能完善的在线教育平台&#xff0c;包括系统设计、核心功能实现以及部署上线等关键环节。 本项…...

【2025】Electron + React 架构筑基——从零到一的跨平台开发

引言 源代码仓库&#xff1a; Github仓库【electron_git】 你是否厌倦了在命令行中反复输入git status&#xff0c;却依然无法直观看到文件变化&#xff1f; 是否羡慕VS Code的丝滑Git集成&#xff0c;却苦恼于无法定制自己的专属工具&#xff1f; 本专栏将为你打开一扇新的…...

Vue3实战学习(IDEA中打开、启动与搭建Vue3工程极简脚手架教程(2025超详细教程)、Windows系统命令行启动Vue3工程)(2)

目录 一、命令行中重新启动已搭建好的Vue3工程。(快速上手) &#xff08;0&#xff09;Windows环境下使用命令行从零到一手动搭建Vue3工程教程。 &#xff08;1&#xff09;首先找到已建Vue3工程的目录。 &#xff08;2&#xff09;无需再下载依赖包&#xff0c;直接执行npm ru…...

【ArcGIS】地理坐标系

文章目录 一、坐标系理论体系深度解析1.1 地球形态的数学表达演进史1.1.1 地球曲率的认知变化1.1.2 参考椭球体参数对比表 1.2 地理坐标系的三维密码1.2.1 经纬度的本质1.2.2 大地基准面&#xff08;Datum&#xff09;的奥秘 1.3 投影坐标系&#xff1a;平面世界的诞生1.3.1 投…...

Redis- 切片集群

切片集群 切片集群什么是Redis Cluster吗&#xff1f;为什么需要切片集群&#xff1f;Redis Cluster的数据分片机制是怎样的&#xff1f;哈希槽的算法是什么基本算法流程 待填坑 切片集群 什么是Redis Cluster吗&#xff1f;为什么需要切片集群&#xff1f; Redis Cluster是R…...