【Linux指令集】---zip指令(超详细)

news2024/11/18 5:27:26

个人主页:平行线也会相交
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创
收录于专栏【Linux专栏】🎈
本专栏旨在分享学习Linux的一点学习心得,欢迎大家在评论区讨论💌
演示环境:centos7
在这里插入图片描述

zip指令用于在Linux系统上创建和管理ZIP压缩文件
命令格式zip [选项] <压缩文件名> <文件/目录列表>
常用选项如下,请看:

选项作用
-r递归地将一个目录及其所有子目录和文件压缩到ZIP文件中
-q在压缩文件时启用静默模式,即不显示压缩过程的详细信息
-d从现有的ZIP文件中删除指定的文件或目录
-u用于更新现有的ZIP文件,将新的文件或修改后的文件添加到ZIP存档中
-f用于刷新(更新)现有ZIP文件中的指定文件。
-m用于移动(归档)文件到一个ZIP压缩文件中,并在移动后将源文件删除。
-e用于对ZIP压缩文件进行加密。
-z为压缩文件添加注释

下面将对以上选项进行详细的介绍。

常用选项目录

  • -r
  • -q
  • -d
  • -u
  • -f
  • -m
  • -e(加密)
  • -z(添加注释)

-r

-r选项:用于递归地将一个目录及其所有子目录和文件压缩到ZIP文件中。
命令格式:zip -r <压缩文件名> <目录/文件>
在这里插入图片描述

输入命令:zip -r mytxt .zip t1.txt t2.txt。 结果如下:
在这里插入图片描述
这里要注意:deflated 27% 表示压缩率为 27%,即压缩后的文件大小是原文件的 73%。

也可以将文件和目录一起压缩,
输入命令:zip -r mytxt1.zip t1.txt t2.txt a/ 结果如下:
在这里插入图片描述

-q

-q选项:压缩文件时不显示压缩过程的详细信息。
输入指令:zip -q mytxt.zip t1.txt t2.txt
结果如下:
在这里插入图片描述

-d

-d选项:(d是delete的缩写)从现有的ZIP文件中删除指定的文件或目录,可以从ZIP存档中删除不需要的文件或目录。

现在压缩文件mytxt.zip中存档着,文件t1.txt和t2.txt,现在要从压缩文件mytxt.zip中删除t1.txt

输入命令rm -r mytxt.zip t1.txt
结果如下:
在这里插入图片描述

-u

-u选项:用于更新现有的ZIP文件,将新的文件或修改后的文件添加到ZIP存档中。

在这里插入图片描述
可以看到输入命令之前mytxt.zip中存档着t1.txt、t2.txt、t3.txt三个文件。

输入命令:zip -u mytxt.zip t3.txt
解释:如果mytxt.zip压缩文件中没有t3.txt,则mytxt.zip中会增加新文件t3.txt;如果有t3.txt,则会替换mytxt.zip压缩文件中的旧t3.txt为新的t3.txt。(该例属于第二种情况)

结果如下:
在这里插入图片描述

-f

-f选项:用于刷新(更新)现有ZIP文件中的指定文件。
命令格式zip -f <压缩文件名> <要刷新(更新)的文件>

输入命令zip -f mytxt.zip t3.txt
解释:更新mytxt.zip压缩文件中的t3.txt文件,如果mytxt.zip压缩文件存在该文件则会更新此文件;如果不存在则不会执行任何操作(即命令为无效命令)。
结果如下在这里插入图片描述

需要注意的是:使用-f选项仅更新ZIP文件中指定文件,而不会添加新文件或删除文件如果在ZIP文件中不存在要刷新(更新)的文件,则该选项不会执行任何操作。

这里我们要对zip -fzip -u之间的区别,二者都是用于更新现有的ZIP文件,但它们的行为略有不同。不同点如下:

zip -f:只更新已存在于ZIP文件中的文件,不会添加新文件不会添加、不会添加、不会添加(重要的事情说三遍)。
zip -u:可以添加新文件并更新已存在的文件。

-m

-m选项:用于移动(归档)文件到一个ZIP压缩文件中,并在移动后将源文件删除。

输入命令:zip -m mytxt t1.txt t2.txt t3 .txt 结果如下:
在这里插入图片描述

-e(加密)

-e选项:用于对ZIP文件进行加密。
输入命令zip -e mytest.zip t1.c t2.c
解释:压缩t1.c和t2.c到压缩文件mytest.zip中,并将其保存为加密的ZIP文件。
结果如下
在这里插入图片描述

-z(添加注释)

-z选项:为压缩文件添加注释。
命令格式zip -z <添加注释的压缩文件>

输入命令zip -z mytxt.zip 结果如下: 在这里插入图片描述

输入命令unzip -l mytxt.zip可以查看刚刚添加的注释,请看:
在这里插入图片描述

好了,以上就是zip指令中常用选项的介绍。
就到这里啦,再见啦友友们!!!

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

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

相关文章

DevOps系列文章 之 pipeline 流水线:企业微信群通知消息

部署流程 开发环境Jenkins的job进行编译-打包-build成镜像-推送到镜像私有仓库-部署开发环境-&#xff08;开发自测&#xff09;-自测通过-提测。 版本管理&#xff1a; 构建的过程&#xff1a; 开发环境通过验证&#xff0c;则点击“Yes”&#xff0c;没有则Abort。点击Yes后…

在Linux系统中,如何搭建DNS服务

如何搭建DNS服务 要在Linux系统上搭建DNS服务&#xff0c;你可以按照以下步骤进行操作&#xff1a; 1.安装BIND软件包&#xff1a; sudo yum install bind bind-utils2.配置主DNS服务器&#xff1a; 打开/etc/named.conf文件&#xff0c;编辑DNS服务器的配置。根据你的域名和…

122、仿真-基于51单片机的电量监测电压电流和温度报警系统设计(Proteus仿真+程序+流程图+配套资料等)

方案选择 单片机的选择 方案一&#xff1a;STM32系列单片机控制&#xff0c;该型号单片机为LQFP44封装&#xff0c;内部资源足够用于本次设计。STM32F103系列芯片最高工作频率可达72MHZ&#xff0c;在存储器的01等等待周期仿真时可达到1.25Mip/MHZ(Dhrystone2.1)。内部128k字节…

自然语言处理(扩展学习1):Scheduled Sampling(计划采样)与2. Teacher forcing(教师强制)

自然语言处理&#xff08;扩展学习1&#xff09;&#xff1a;Scheduled Sampling(计划采样)与2. Teacher forcing&#xff08;教师强制&#xff09; 作者&#xff1a;安静到无声 个人主页 作者简介&#xff1a;人工智能和硬件设计博士生、CSDN与阿里云开发者博客专家&#xff0…

C/C++动态内存开辟(详解)

目录 一&#xff0c;mallloc 函数参数&#xff1a; 函数原理&#xff1a; 二&#xff0c;calloc 函数参数&#xff1a; 函数原理&#xff1a; 三&#xff0c;realloc 函数参数&#xff1a; 函数原理: 五&#xff0c;小结 2&#xff09;对开辟空间的越界访问 3&#x…

cnn分类图像cifar10

使用CNN模型来分类图像&#xff0c;数据集采用的cifar10&#xff0c;cifar10共有6万张&#xff0c;这些图像共分为10类。 命名的格式大概是这样的&#xff1a;0_19761.jpg&#xff0c;它的第一个数字表示的就是图像所属的类&#xff0c;分成清楚的就知道了&#xff0c;第0类就是…

Flutter:EasyLoading(loading加载、消息提示)

前言 官方虽然提供了内置的加载指示器和提示信息&#xff0c;但是功能比较简陋&#xff0c;这里推荐&#xff1a;flutter_easyloading CircularProgressIndicator CircularProgressIndicator()加粗样式 ScaffoldMessenger.of(context).showSnackBar(const SnackBar(// 提示…

MySQL(三)SQL优化、Buffer pool、Change buffer

MySQL系列文章 MySQL&#xff08;一&#xff09;基本架构、SQL语句操作、试图 MySQL&#xff08;二&#xff09;索引原理以及优化 MySQL&#xff08;三&#xff09;SQL优化、Buffer pool、Change buffer MySQL&#xff08;四&#xff09;事务原理及分析 MySQL&#xff08;五&a…

泛积木-低代码 搭建 增删改查

文章首发于 增删改查 。 这里我们以增删改查作为示例&#xff0c;演示下从页面创建到各个功能齐全。创建页面的时候&#xff0c;建议接口先写好&#xff0c;当然也可以一边联调一边写接口&#xff0c;当前对增删改查提供以下测试接口&#xff1a; 测试接口 /contactsList 列…

【数据结构】非线性结构之树结构(含堆)

前言 前面的三篇文章已经将线性结构讲述完毕了&#xff0c;下面的文章将会为大家将讲点新东西&#xff1a;非线性结构中的树结构。萌新对这里的知识点相对陌生&#xff0c;建议反复观看&#xff01;&#xff01; 关于线性结构的三篇文章放在下面&#xff1a; 线性表之顺序表 线…

数组与指针

博客内容&#xff1a;数组与指针 文章目录 一、 数组&#xff1f;指针&#xff1f;1.区别与联系大小赋值存储位置 二、指针数组、数组指针&#xff1f;二维数组和二级指针&数组名与数组的区别总结 一、 数组&#xff1f;指针&#xff1f; 数组 相同类型数据的集合 指针 指…

谷歌Bard更新:支持中文提问和语音朗读

ChatGPT不断更新功能&#xff0c;从GPT-3到3.5&#xff0c;再到GPT-4&#xff0c;甚至最新的plus版已经支持图像处理和图表生成&#xff0c;而谷歌Bard却自从推出后就一直很安静&#xff0c;没有什么大动作。眼见被ChatGPT、Claude甚至是文心一言抢去了风头&#xff0c;自然心有…

springcache的使用(小白也看得懂)

简介 SpringCache整合Redis可以使用Spring提供的Cacheable注解来实现对Redis的缓存操作。使用这种方式可以轻松地在应用程序中启用缓存&#xff0c;并且不需要手动编写访问Redis的代码。在配置文件中需要配置Redis的连接信息以及缓存管理器。使用这种方式可以做到轻松配置&…

C++报错:二进制“心<“没有找到接受“std:string“类型的右操作数的运算符(或没有可接受的转换)

1、问题&#xff1a;在进行二维数组的相关计算时报错&#xff1a; 二进制"心<"没有找到接受"std:string"类型的右操作数的运算符(或没有可接受的转换) 2、原因&#xff1a;没有加入头文件——String; 3、解决办法&#xff1a;加上头文件——String; 4、…

GNN学习笔记:A Gentle Introduction to Graph Neural Networks

原文地址&#xff1a; https://distill.pub/2021/gnn-intro/ 不同形式来源的图 Images as graphs 论文中提到将图像建模为一张拓扑图的方法是将图像的每一个像素看作图的一个结点&#xff0c;并将单个像素结点与其相邻的所有像素之间建立一条边。 每一个非边缘的像素结点具…

Linux下做性能分析4:怎么开始

战地分析 性能分析常常是一种战地分析&#xff0c;所以&#xff0c;在我们可以端起咖啡慢慢想怎么进行分析之前&#xff0c;我们要先说说我们在战地上的套路。 战地分析是说在实用环境中发现问题&#xff0c;我们真正需要进行性能分析的场合&#xff0c;通常都没有机会让你反…

LeetCode: 18. 四数之和 | 双指针专题

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

Java中的几种关键字this、super、static和final介绍

Java中的几种关键字this、super、static和final介绍 在Java编程语言中&#xff0c;关键字是具有特殊含义的预定义标识符。关键字是Java编程语言中具有特殊用途的保留单词&#xff0c;用于表示语法结构和程序行为。关键字在语法上具有特定的用途&#xff0c;不能用作变量名、方…

HTTP1.1、HTTPS、HTTP2.0 、HTTP3.0

HTTP1.1 优点&#xff1a; 整体方面&#xff1a;简单、灵活和易于扩展、应用广泛和跨平台 性能方面&#xff1a;长连接、管道网络传输解决请求队头阻塞&#xff08;没有使用&#xff09; 缺点&#xff1a; 安全方面&#xff1a;无状态、明文窃听、伪装、篡改 性能方面&am…

进程间通信之匿名管道

进程间通信—管道 一、进程间通信介绍二、管道1.匿名管道1.1父进程和一个子进程之间的通信1.2父进程和多个子进程之间的通信 一、进程间通信介绍 1.进程间为什么要进行通信&#xff1f; 进程间通信的是为了协调不同的进程&#xff0c;使之能在一个操作系统里同时运行&#xff…