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);该程序用于打包一组文件进行分发;存档文件;通过临时压缩未使用的文件或目录来节省磁盘空间;且压缩文件可以在Linux、Windows 和 macOS中轻松提取。 2.命…...
es-使用easy-es时如何指定索引库
在对应的实体类中,通过注解IndexName指定。 如上图,指定的索引库就是problems,那么之后我使用easy-es时都是针对该索引库进行增删改查。...
Redis-主从架构
主从架构 主从架构什么是主从架构基本架构 复制机制的工作原理1. 全量复制(Full Synchronization)2. 部分复制(Partial Synchronization)3. PSYNC2机制(Redis 4.0) 主从架构的关键技术细节1. 复制积压缓冲区…...
Java数据结构第二十期:解构排序算法的艺术与科学(二)
专栏:Java数据结构秘籍 个人主页:手握风云 目录 一、常见排序算法的实现 1.1. 直接选择排序 1.2. 堆排序 1.3. 冒泡排序 1.4. 快速排序 一、常见排序算法的实现 1.1. 直接选择排序 每⼀次从待排序的数据元素中选出最小的⼀个元素,存放在…...
inkscape裁剪svg
参考https://blog.csdn.net/qq_46049113/article/details/123824888,但是上个博主没有图片,不太直观,我补上。 使用inkscape打开需要编辑的图片。 在左边导航栏,点击矩形工具,创建一个矩形包围你想要保留的内容。 如果…...
类加载器加载过程
今天我们就来深入了解一下Java中的类加载器以及它的加载过程。 一、什么是类加载器? 在Java中,类加载器(Class Loader)是一个非常重要的概念。它负责将类的字节码文件(.class文件)加载到Java虚拟机&#x…...
Git基础之基本操作
文件的四种状态 Untracked:未追踪,如新建的文件,在文件夹中,没有添加到git库,不参与版本控制,通过git add将状态变为staged Unmodify:文件已入库,未修改,即版本库中的文件…...
简单的 Python 示例,用于生成电影解说视频的第一人称独白解说文案
以下是一个简单的 Python 示例,用于生成电影解说视频的第一人称独白解说文案。这个示例使用了 OpenAI 的 GPT 模型,因为它在自然语言生成方面表现出色。 实现思路 安装必要的库:使用 openai 库与 OpenAI API 进行交互。设置 API 密钥&#…...
[Pycharm]创建解释器
仅以此文章来记录自己经常脑子抽忘记的地方 有时候我们在建好了一个项目以后,想要更换解释器。以新建conda解释器为例。 一、conda解释器 1.选择setting 2.选择Add Local Interpreter 3.type选则conda。如果你之前已经有了conda环境,和我一样选择了Gen…...
在 k8s中查看最大 CPU 和内存的极限
在 Kubernetes(k8s)中,你可以从不同层面查看最大 CPU 和内存的极限,下面为你详细介绍从节点和集群层面查看的方法。 查看节点的 CPU 和内存极限 节点的 CPU 和内存极限是指单个节点上可分配的最大资源量,可通过以下几…...
【Python】为什么要写__init__.py
文章目录 PackageA(__init__特性)应该往__init__.py里放什么东西?1、包的初始化2、管理包的公共接口3、包的信息 正常我们直接导入就可以执行,但是在package的时候,有一种__init__.py的特殊存在 引入moduleA.py,执行main.py&…...
【IPFS应用开发】IPFS播放器-上传助手
本系列文章是针对 https://blog.csdn.net/weixin_43668031/article/details/83962959 内容的实现所编写的。开发经历包括思考过程、重构和推翻重来。 基于IPFS的视频播上传助手发布 起源一、优势:二、劣势:三、未来展望:上传助手Demo版本发布公告欢迎体验!立即体验:http:/…...
单细胞多数据集整合和去除批次效应教程,代做各领域生信分析
单细胞多数据集整合和去除批次效应教程 每个数据集的数据分别单独进行读取单细胞数据构建Seurat分析对象 读取各种来源的单细胞数据构建Seurat分析对象的教程 做这一步的时候可以查看我这篇写的非常详细的教程文章: 【腾讯文档】单细胞分析步骤1读取各种来源格式…...
Windows控制台函数:移动光标位置函数SetConsoleCursorPosition()
目录 什么是 SetConsoleCursorPosition? 它长什么样? 什么是 COORD? 怎么用它? 它有什么用? 跟 C 标准库有什么不一样? 注意事项 再试一个有趣的例子 什么是 SetConsoleCursorPosition?…...
MyBatis-Plus 注解大全
精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 MyBatis-Plus 注解大全 MyBatis-Plus 是基于 MyBatis 的增强工具,通过注解简化了单表 CRUD 操作和复杂查询的配置。以下是常用注解的分类及详细说…...
Redis基础之基础概念
NoSQL数据库的优点 1.直接减少CPU与IO压力,是直接通过内存来读取的 2.可以直接作为缓存使用,减少IO操作 如果我们在请求中需要来传递数据,使用NoSQL可以来进行数据的直接存储和读取,从而来减少CPU与IO压力 或者是如果一些数据较为…...
Django小白级开发入门
1、Django概述 Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。 Django 框架的核心组件有: 用于创建模型的对象关系映射为最终用户设计较好的管理界面URL 设计设计者友好的模板…...
热图回归(Heatmap Regression)
热图回归(Heatmap Regression)是一种常用于关键点估计任务的方法,特别是在人体姿态估计中。它的基本思想是通过生成热图来表示某个关键点在图像中出现的概率或强度。以下是热图回归的主要特点和工作原理: 主要特点 热图表示: 每个关键点对应一个热图,热图中的每个像素值…...
SpringSecurity认证授权完整流程
SpringSecurity认证流程:loadUserByUsername()方法内部实现。 实现步骤: 构建一个自定义的service接口,实现SpringSecurity的UserDetailService接口。建一个service实现类,实现此loadUserByUsername方法。…...
MongoDB用户管理和复制组
用户管理 1、建用户时,use到的库就是此用户的验证库 2、登录时必须明确指定验证库才能登录 3、通常管理员用的验证库是admin,普通用户的验证库一般是所管理的库设置为验证库 4、如果直接登录到数据库,不进行use(示例ÿ…...
【CPython 3.13无锁并发白皮书】:全球首批实测团队披露的4类典型崩溃场景与修复参数
第一章:Python 无锁 GIL 环境下的并发模型配置概览Python 的全局解释器锁(GIL)本质上限制了 CPython 中多线程对 CPU 密集型任务的并行执行能力。然而,“无锁 GIL 环境”并非指 GIL 被移除,而是指通过绕过 GIL 依赖的并…...
3大核心能力重新定义macOS炉石传说对战体验:HSTracker全方位辅助系统解析
3大核心能力重新定义macOS炉石传说对战体验:HSTracker全方位辅助系统解析 【免费下载链接】HSTracker A deck tracker and deck manager for Hearthstone on macOS 项目地址: https://gitcode.com/gh_mirrors/hs/HSTracker HSTracker是一款专为macOS平台设计…...
OpenClaw技能市场巡礼:最适合Qwen3-32B的5个实用模块
OpenClaw技能市场巡礼:最适合Qwen3-32B的5个实用模块 1. 为什么需要关注技能市场? 第一次接触OpenClaw时,我以为它只是个简单的自动化脚本集合。直到在本地部署了Qwen3-32B模型后,才发现真正的威力藏在技能市场里。这里分享一个…...
单片机开发三大软件架构对比与实践
单片机开发常用软件架构深度解析1. 项目概述在嵌入式系统开发中,软件架构设计直接影响系统的可靠性、可维护性和实时性。本文系统分析三种主流单片机软件架构方案,包括时间片轮询法、操作系统方案和前后台顺序执行法,为开发者提供架构选型参考…...
OpenClaw自动化测试:百川2-13B-4bits量化模型在重复任务中的稳定性
OpenClaw自动化测试:百川2-13B-4bits量化模型在重复任务中的稳定性 1. 测试背景与目标 最近在尝试用OpenClaw搭建一个本地自动化工作流时,发现一个关键问题:当AI需要反复执行相同任务时,模型响应的稳定性会直接影响自动化效果。…...
TinyMCE 5插件开发实战:手把手教你定制首行缩进功能(Vue版)
TinyMCE 5插件开发实战:手把手教你定制首行缩进功能(Vue版) 在内容创作领域,富文本编辑器的灵活性和扩展性往往决定了最终的用户体验。TinyMCE作为一款广受欢迎的富文本编辑器,其插件系统为开发者提供了无限可能。本文…...
Python AI 工具不是越多越好!——3个被低估但日均调用量破50万的轻量级用例工具(附内部灰度测试报告)
第一章:Python AI 工具不是越多越好!——轻量级用例工具的价值重估在AI工程实践中,开发者常陷入“工具堆砌陷阱”:为一个文本清洗任务引入 Transformers,为简单分类部署完整 FastAPI ONNX Runtime Redis 缓存栈。这种…...
I2CLCD驱动库:HD44780字符屏的I²C轻量级嵌入式适配方案
1. I2CLCD库概述:面向嵌入式系统的字符型LCD IC适配驱动I2CLCD是一个轻量级、可移植的C语言驱动库,专为将标准HD44780兼容的字符型LCD(如1602、2004)通过IC总线接入MCU而设计。其核心价值在于消除并行接口对GPIO资源的高占用&…...
C++新手必看:如何用最简单的方法找出一个数的所有因数(附GESP真题解析)
C实战指南:高效求解因数的5种方法及GESP真题精讲 在编程学习的道路上,理解基础算法就像盖房子打地基一样重要。因数计算这个看似简单的题目,其实蕴含着循环控制、条件判断和算法优化等核心编程思想。很多初学者在第一次遇到这类问题时&#x…...
借助aibye智能工具高效完善毕业论文任务书范文,整合7大优质平台的AI修改功能提升学术写作质量
工具名称 核心功能 生成速度 适用场景 独特优势 aibiye 论文初稿生成 20-30分钟 全学科通用 自动插入图表公式 aicheck 初稿查重 20-30分钟 急需查重场景 独创降AIGC算法 askpaper 初稿生成 20-30分钟 理工科专业 支持代码片段 秒篇 快速生成 10-15分钟 …...
