Linux(Centos 7.6)命令详解:zip

news2025/3/10 4:17:23

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.txt

1 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.txt
  file4.txt
  file5.txt
  file6.txt
  file7.txt
  file8.txt
  file9.txt
Total 7 entries (3132 bytes)
[root@node2 Desktop]# 

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

[root@node2 Desktop]# zip -sf filetxt.zip 
Archive contains:
  file2.txt
  file4.txt
  file5.txt
  file6.txt
  file7.txt
  file8.txt
  file9.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.txt
  file5.txt
  file6.txt
  file7.txt
  file8.txt
  file9.txt
Total 6 entries (177 bytes)
[root@node2 Desktop]# 

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

[root@node2 Desktop]# zip -sf filetxt.zip 
Archive contains:
  file2.txt
  file4.txt
  file5.txt
  file6.txt
  file7.txt
  file8.txt
  file9.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.txt
  file5.txt
  file6.txt
  file7.txt
  file8.txt
  file9.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.txt
  file5.txt
  file6.txt
  file7.txt
  file8.txt
  file9.txt
Total 6 entries (177 bytes)
[root@node2 Desktop]# 

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

[root@node2 Desktop]# zip -P passwdstr filetxt3.zip file*.txt
  adding: 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.zip
  inflating: 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*.txt
  adding: 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*.txt
  adding: 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]# 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2312472.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

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…

Ubuntu切换lowlatency内核

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

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

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

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

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

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

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

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…

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

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

2.数据结构-栈和队列

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

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 是面向…

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

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

【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 投…

Oxidized收集H3C交换机网络配置报错,not matching configured prompt (?-mix:^(<CD>)$)

背景&#xff1a;问题如上标题&#xff0c;H3C所有交换机配置的model都是comware 解决方案&#xff1a; 1、找到compare.rb [rootoxidized model]# pwd /usr/local/lib/ruby/gems/3.1.0/gems/oxidized-0.29.1/lib/oxidized/model [rootoxidized model]# ll comware.rb -rw-r--…

【ubuntu20】--- 搭建 gerrit 最新最详细

在编程的艺术世界里&#xff0c;代码和灵感需要寻找到最佳的交融点&#xff0c;才能打造出令人为之惊叹的作品。而在这座秋知叶i博客的殿堂里&#xff0c;我们将共同追寻这种完美结合&#xff0c;为未来的世界留下属于我们的独特印记。 【ubuntu20】--- 搭建 gerrit 最新最详细…

Python----数据分析(Matplotlib五:pyplot的其他函数,Figure的其他函数, GridSpec)

一、pyplot的其他函数 1.1、xlabel 在matplotlib中&#xff0c; plt.xlabel() 函数用于为当前活动的坐标轴&#xff08;Axes&#xff09;设置x轴的 标签。当你想要标识x轴代表的数据或单位时&#xff0c;这个函数非常有用。 plt.xlabel(xlabel text) 1.2、ylabel 在matplotl…

C语言——链表

大神文献&#xff1a;https://blog.csdn.net/weixin_73588765/article/details/128356985 目录 一、链表概念 1. 什么是链表&#xff1f; 1.1 链表的构成 2. 链表和数组的区别 数组的特点&#xff1a; 链表的特点&#xff1a; 二者对比&#xff1a; 二…