Linux压缩命令:zip命令详解

news2024/10/2 14:26:10

目录

一、概述

二、术语

三、基本语法

1、语法

2、常用选项

四、选项和示例

1. -r - 递归压缩目录及其子目录。

2. -j - 只加入文件而不保留目录结构。

3. -m - 压缩后从文件系统中删除原文件。

4. -u - 更新已存在的 ZIP 文件中的文件。

5. -q - 静默模式,不显示任何消息。

6. -P password - 使用密码加密 ZIP 文件。

7. -l - 显示压缩后的文件列表。

8. -v - 显示详细的压缩信息。

五、常见用法

1. 压缩单个文件  

2. 压缩目录及其子目录  

3. 压缩多个文件  

4. 压缩文件并删除原始文件  

5. 压缩文件并添加密码  

6. 压缩文件并保持静默模式

7. 查看 ZIP 文件内容

六、高级示例

七、其他


一、概述

        zip 命令在 Linux 中用于创建 ZIP 格式的压缩文件。ZIP 是一种广泛使用的文件压缩格式,它可以压缩单个或多个文件及目录,同时还可以添加密码保护。

二、术语

         归档(Archiving):将多个文件和目录合并成一个文件的过程。

         压缩(Compression):通过特定的算法减少文件大小的过程。

       解压缩(Decompression):把压缩的文件重新释放出来的过程。

三、基本语法

1、语法

        zip [选项] [压缩文件名] [要压缩的文件或目录]

  • 压缩后文件名:指定压缩后生成的文件名,扩展名通常为.zip。
  • 原文件名或目录:指定要压缩的文件或目录名。可以指定多个文件或目录进行压缩。

2、常用选项

        zip命令提供了丰富的选项,以满足不同的压缩需求。以下是一些常用的选项:

  • -r:递归地将目录下的所有文件和子目录都打包到ZIP文件中。
  • -q:安静模式,不显示压缩过程。
  • -v:详细模式,显示压缩过程的详细信息。
  • -u:更新ZIP文件,只添加新的文件和修改过的文件。
  • -d:从ZIP文件中删除指定的文件。
  • -l:列出ZIP文件中的文件信息。
  • -9:使用最高级别的压缩(压缩率最高),但压缩速度最慢。
  • -P:设置密码来保护压缩文件的内容。
  • -s:分割ZIP文件为指定大小的多个文件,以便在存储和传输时更方便。

3、帮助获取

       在命令行中输入指令:

        zip --h

       出现如下图所示的帮助信息:

四、选项和示例

        zip 命令有许多选项可用于控制压缩行为。这里列举一些常用选项.

1. -r - 递归压缩目录及其子目录。

   - 示例:zip -r archive.zip folder/

  - 将 folder 及其所有子目录压缩到 archive.zip。

2. -j - 只加入文件而不保留目录结构。

   - 示例:zip -j archive.zip folder/

  - 将 folder 下的所有文件压缩到 archive.zip,但不会保留 folder 的目录结构。

3. -m - 压缩后从文件系统中删除原文件。

   - 示例:zip -m archive.zip file.txt

   - 将 file.txt 压缩到 archive.zip 并从文件系统中删除 file.txt。

4. -u - 更新已存在的 ZIP 文件中的文件。

   - 示例:zip -u archive.zip file.txt

   - 如果 file.txt 已存在于 archive.zip 中,则只在文件被修改时更新。

5. -q - 静默模式,不显示任何消息。

   - 示例:zip -q archive.zip file.txt

   - 压缩 file.txt 到 archive.zip 时不显示任何消息。

6. -P password - 使用密码加密 ZIP 文件。

   - 示例:zip -P mypassword archive.zip file.txt

   - 使用密码 mypassword 加密 file.txt。

7. -l - 显示压缩后的文件列表。

   - 示例:zip -l archive.zip

   - 列出 archive.zip 中的文件。

8. -v - 显示详细的压缩信息。

   - 示例:zip -v archive.zip file.txt

   - 显示详细的压缩信息。

五、常见用法

1. 压缩单个文件  

           zip archive.zip file.txt  

   这会将 file.txt 压缩到 archive.zip 文件中。

2. 压缩目录及其子目录  

           zip -r archive.zip dir1/

      这会递归地压缩 folder 及其所有子目录到 archive.zip。

      结果如下所示:

3. 压缩多个文件  

           zip archive.zip file1.txt file2.txt

      这会将 file1.txt 和 file2.txt 压缩到 archive.zip。

4. 压缩文件并删除原始文件  

           zip -m archive.zip file.txt

      这会将 file.txt 压缩到 archive.zip 并从文件系统中删除 file.txt。

5. 压缩文件并添加密码  

   zip -P mypassword archive.zip file.txt

      这会使用密码 mypassword 加密 file.txt。

6. 压缩文件并保持静默模式

      zip -q archive.zip file.txt

      这会在静默模式下压缩 file.txt。

7. 查看 ZIP 文件内容

      zip -l archive.zip

      这会显示 archive.zip 中包含的文件列表。

六、高级示例

        假设你想将目录 my_documents 及其所有子目录压缩到 documents.zip 文件中,并且希望添加密码保护,可以使用如下命令:

        zip -r -P mypassword documents.zip my_documents/

        这将会创建一个名为 documents.zip 的 ZIP 文件,并使用密码 mypassword 对文件进行加密。

七、其他

        - 当使用 -P 选项添加密码时,请确保记住密码,否则无法解压文件。

        - 如果要解压文件,可以使用 unzip 命令。

        - 如果压缩过程中遇到问题,可以尝试查看 zip 命令的手册页获取更多帮助: 

                  man zip

        zip 命令是非常有用的工具,特别是在处理大量文件和目录的压缩时。希望这些信息对你有所帮助!


文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。


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

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

相关文章

C语言指针(2)

今天我们接着前两天的内容继续讲解 一、数组名的理解 1、&arr[0]与arr 有时候我们需要获取数组首元素,有两种方法可以获取。 使用这两种方法都可以获得数组首元素&arr[0],arr。 int main() {int arr[10] { 1,2,3,4,5,6,7,8,9,10};printf(&…

Ubuntu安装nvidia-docker并使用的正确方式

Ubuntu安装docker: ubuntu(24.04)以及WSL2安装docker的详细教程_unbantu安装docker-CSDN博客文章浏览阅读646次,点赞5次,收藏3次。默认情况下,只有root用户和docker组的用户才能运行Docker命令。我们可以将当前用户添加到docker组,以避免每次使用Docker时都需要使用sudo。…

Undefined symbol vApplicationGetTimerTaskMemory (referred from timers.o).

在使用FreeRTOS中的cubemx配置RTC时钟时,配置完毕出现这个问题, Error: L6218E: Undefined symbol vApplicationGetTimerTaskMemory (referred from timers.o). 链接器在timers.o目标文件中发现了一个未定义的符号vApplicationGetTimerTaskMemory。这个…

深度学习复盘与论文复现F

文章目录 1、Environment construction1.1 macos conda1.2 macos PyTorch1.3 iTerm settings1.4 install jupyter 2、beam search2.1 greedy search2.2 exhaustive search2.3 beam search 3、Attention score3.1 Masking softmax operation3.2 Additive attention3.3 Zoom dot …

《Milvus Cloud向量数据库指南》——Zilliz Cloud 高可用性深度解析:赋能GenAI应用,引领非结构化数据新纪元

在人工智能与大数据技术日新月异的今天,非结构化数据的处理与分析已成为推动行业智能化转型的关键驱动力。Zilliz Cloud,作为基于开源向量数据库Milvus构建的全托管解决方案,不仅革新了非结构化数据的存储与查询方式,更以其卓越的高可用性设计,为开发人员构建高效、可靠的…

国内的自闭症康复学校:星贝育园的独特干预法

在国内自闭症康复的广袤领域中,星贝育园宛如一颗璀璨的明星,凭借其创新而卓越的教育理念以及独树一帜的干预方法,为特殊儿童及其家庭点亮了希望之光,带来了深刻而积极的转变。 星贝育园团队精心打造的 CBM 干预法,无疑…

计算机毕业设计选题推荐-校园消费点评系统-Java/Python项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

最好用的深拷贝方法?分享 1 段优质 JS 代码片段!

本内容首发于工粽号:程序员大澈,每日分享一段优质代码片段,欢迎关注和投稿! 大家好,我是大澈! 本文约 900 字,整篇阅读约需 1 分钟。 今天分享一段优质 JS 代码片段,轻松实现了对象…

【JVM基础10】——垃圾回收-JVM垃圾回收算法有哪些?

目录 1- 引言:垃圾回收算法2- ⭐核心:三种垃圾回收算法2-1 标记清除法优缺点 2-2 标记整理算法优缺点 2-3 复制算法优缺点 3- 小结3-1 JVM 常见的垃圾回收算法有哪些? 1- 引言:垃圾回收算法 JVM 在识别了对象什么时候可以被回收之…

【精选】通信与感知(ISAC)必读好文

微信公众号:EW Frontier 个人博客:106.54.201.174 QQ交流群:949444104 简介 通信与感知(ISAC)也被称为联合雷达通信 (JRC) / 联合通信和雷达传感 (JCAS) / 双功能雷达通信 (DFRC) 定义:将传感和通信系统集…

redis详细介绍

Redis是一个开源的、基于内存的高性能键值对数据库,属于NoSQL数据库的一种。它以高性能、丰富的数据结构、持久化特性、复制、集群以及发布/订阅等特性而闻名。以下是Redis的详细介绍: 一、基本介绍 名称:Redis,全称Remote Dicti…

<数据集>起重机识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:2984张 标注数量(xml文件个数):2984 标注数量(txt文件个数):2984 标注类别数:1 标注类别名称:[cranes] 使用标注工具:labelImg 标注规则:对…

Adobe Acrobat不支持图片格式转换PDF文件

我在将图片格式(PNG,JPEG)转换为PDF的过程中遇到了如下问题: 单文件的解决办法——在软件外实现转换: 使用照片打开图片 选择打印 打印机选择Adobe PDF,执行打印 选择PDF文件的保存位置,过一会儿可以正…

反转链表(LeetCode)

题目 给你单链表的头节点,请你反转链表,并返回反转后的链表 解题 class ListNode:def __init__(self, value0, nextNone):self.value valueself.next nextdef reverse_linked_list_recursive(head: ListNode) -> ListNode:# 空链表或单节点链表if …

【Material-UI】Autocomplete组件的自定义功能(Customization)详解

文章目录 一、定制输入框二、全局自定义选项三、特定场景的自定义1. GitHub标签选择器2. 提示功能 四、总结 在现代Web开发中,UI组件的可定制性是提升用户体验和界面一致性的重要因素。Material-UI的Autocomplete组件提供了丰富的自定义选项,使得开发者可…

调试工具之GDB的基本使用

GDB基本使用 GDB是Linux下一款非常强大的调试软件&#xff0c;其实就是GNU Debugger的缩写。接下来我们学习一下他的基本使用。 例子函数&#xff0c;其中只有一个ds18b20的采集温度函数和一个主函数&#xff1a; #include <stdio.h> #include <errno.h> #includ…

一些硬件知识(十九)

立创的这个功能&#xff0c;绕等长线时候真的好用到o(╥﹏╥)o&#xff1a; 设计完成后一定要有一个最小工艺安全间距的DRC检查&#xff0c;不然的话又会出现嘉立创反馈短路&#xff0c;或者工艺生产不了&#xff1a; PMOS防反接电路&#xff1a; 理分析&#xff1a;当输入端加…

【两数之和 II - 输入有序数组】python刷题记录

R3-二分查找 双指针简单题 class Solution:def twoSum(self, numbers: List[int], target: int) -> List[int]:#双指针法i0jlen(numbers)-1while i<j:snumbers[i]numbers[j]if s>target:j-1elif s<target:i1else:return i1,j1return []

react-native从入门到实战系列教程一InputText组件之登录表单

登录使我们业务中不可缺少的功能&#xff0c;所以这篇我们学习写在react-native中实现表单登录 实现效果 代码实现 import {View,Text,StyleSheet,Dimensions,TextInput,Button,Alert, } from react-native; import {useEffect, useState} from react; import Logo from ../.…

通过systemd-resloved实现不同域名通过不同的`nameserver`进行解析

通过systemd-resloved实现不同域名通过不同的nameserver进行解析 一般来说只要DNS不发生网络故障就只会在一个nameserver 获取地址&#xff0c;但我们可能需要从不同nameserver 获取不同域名的地址&#xff0c;比如内网环境和外网环境分别使用不同的nameserver &#xff0c;但…