Ubuntu下文件的解压缩操作:常用zip和unzip

Ubuntu下文件的解\压缩

压缩一个文件夹为zip包,加参数-r

zip -r  MyWeb.zip  MyWeb
需要排除目录里某个文件夹?例如我要去掉node_modules,以显著减小压缩包体积,此时该怎么做?
zip -r MyWeb.zip ./MyWeb -x '*node_modules*'
  • 注意,这里的-x参数告诉zip命令需要排除某些文件或文件夹,'*node_modules*'表示要排除的文件夹名称是node_modules。直接写node_modules是无法识别的,必须用通配符且前后加上引号才可识别。

查看压缩包大小,单位Mb:

du -h  MyWeb.zip 

解压

通过unzip命令:

unzip MyWeb.zip

执行上述命令后,系统将会解压缩"MyWeb.zip"文件,并将其中的内容提取到当前目录。

如果想把压缩包解压缩到指定目录,可以使用"-d"参数来指定目标路径。例如将压缩包解压缩到名为"Test"的目录中,可以执行以下命令:


unzip MyWeb.zip -d Test

这将会在当前路径下创建一个名为"Test"的目录,并将压缩包的内容解压缩到该目录中。

如需要查看压缩包中的文件列表,可以使用"-l"参数。执行以下命令,将显示压缩包中所有文件的列表:


unzip -l MyWeb.zip

拓展补充:

zip压缩命令的更多参数选项

1.除了前面常用方法外,zip命令还提供了一些其他选项可以进一步控制压缩行为:
-q:静默模式,不显示压缩过程中的输出信息。
-j:将文件夹中的文件全部压缩到根目录,而不保留原来的目录结构。
-9:使用最高的压缩级别,以获得更小的压缩包体积。
-T:检查压缩包的完整性,确保没有损坏或丢失的文件。

可以根据实际需求选择合适的选项来满足不同的压缩要求。

2.压缩大文件夹的分卷压缩

当需要压缩的文件夹非常大时,有时候压缩到一个单独的zip包中可能会出现容量限制的问题。这时候我们可以利用zip命令提供的分卷压缩功能来解决:

通过在命令中加上-s参数和分卷大小(例如10M),zip命令将会将压缩包拆分为多个大小为10MB的文件。这样便于存储和传输。

如下所示:

zip -r -s 10M MyWeb.zip MyWeb

执行上述命令后,系统将会将"MyWeb"文件夹压缩为多个体积为10MB的zip包。

3.给压缩包加上解压密码(加密)

有时候我们需要对压缩包进行加密以保护其中的文件内容,以防止未授权的访问。zip命令提供了加密选项来满足这一需求。

可以使用-e参数加上一个密码来创建密码保护的压缩包。例如,执行以下命令将会创建一个名为"MyWeb.zip"的加密压缩包,并设置密码为"mypassword":


zip -r -e MyWeb.zip MyWeb

在解压缩时,系统会要求输入密码才能够访问压缩包中的文件。

4.解压缩后修改文件属性

在解压缩zip包后,有时候我们需要修改文件的权限或者时间戳等属性。zip命令提供了选项来控制解压后文件的属性。

可以使用-X参数来保留原始文件的所有属性。例如,执行以下命令:

unzip -X MyWeb.zip

这将会在解压缩过程中保留原始文件的权限、所有者和时间戳等属性。


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

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

相关文章

Linux--网络编程-字节序

进程间的通信: 管道、消息队列、共享内存、信号、信号量。 特点:都依赖于linux内核。 缺陷:无法多机通信。 一、网络编程: 1、地址:基于网络,ip地址端口号。 端口号作用: 一台拥有ip地址的主机…

Windows11安装MySQL8.1

安装过程中遇到任何问题均可以参考(这个博客只是单纯升级个版本和简化流程) Windows安装MySQL8教程-CSDN博客 到官网下载mysql8数据库软件 MySQL :: Download MySQL Community Server 下载完后,解压到你需要安装的文件夹 其中的配置文件内容了如下 [mysqld]# 设置3306端口po…

(c++)类和对象 下篇

目录 1.再次了解构造函数 2. Static成员 3. 友元 4. 内部类 5.匿名对象 6.拷贝对象时的一些编译器优化 1.再次了解构造函数 1.1 构造函数体赋值 在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。 class Date { pub…

从0开始python学习-26.selenium 强制等待、显示等待、隐式等待

目录 1. 强制等待:sleep() 2. 显示等待 3. 隐式等待 1. 强制等待 # 强制等待 from time import sleep sleep(3) 2. 显示等待 每隔一段时间不断地尝试查定位该元素如果定位到了该元素那么就返回该元素值 . 如果在规定的时间里面,没有找到&#xff0c…

前端和后端是Web开发选哪个好?

前端和后端是Web开发中的两个不同的领域,哪一种更适合学习?前景更广呢? 一、引言 Web前端开发就像装饰房间的小瓦匠,勤勤恳恳,仔仔细细,粉饰墙壁,妆点家具。会 HTML,CSS,懂点 JS。…

WARNING:tensorflow:Your input ran out of data; interrupting training. 解决方法

问题详情: WARNING:tensorflow:Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least steps_per_epoch * epochs batches (in this case, 13800 batches). You may need to use the repeat() funct…

1.7.C++项目:仿muduo库实现并发服务器之Poller模块的设计

项目完整在: 文章目录 一、Poller模块:描述符IO事件监控模块二、提供的功能三、实现思想(一)功能(二)意义(三)功能设计 四、封装思想五、代码(一)框架&#…

Springboo整合Sentinel

Springboo整合Sentinel 1.启动Sentinel java -jar sentinel-dashboard-1.8.6.jar2.访问localhost:8080到Sentinel管理界面(默认账号和密码都是sentinel) 3.引入依赖(注意版本对应) <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spr…

IO学习系列之使用文件IO的接口在一个目录下,实现Linux命令“ls -l”的功能

实例要求&#xff1a;使用文件IO的接口在一个目录下&#xff0c;实现Linux命令“ls -l”的功能&#xff1b;实例分析&#xff1a;正常使用“ls -l”命令&#xff0c;会出现以下内容&#xff1a; /*- rwxrw-rw- 1 linux linux…

stm32 - 中断/定时器

stm32 - 中断/定时器 概念时钟树定时器类型基准时钟&#xff08;系统时钟&#xff09;预分频器 - 时基单元CNT计数器 - 时基单元自动重装寄存器 - 时基单元基本定时器结构通用定时器计数器模式内外时钟源选择 定时中断基本结构时序预分频器时序计数器时序 概念 时钟树 https:…

FFmpeg 多图片合成视频带字幕和音乐+特效(淡入淡出,圆圈黑色淡出)

FFmpeg 多图片合成视频带字幕和音乐+特效(淡入淡出,圆圈黑色淡出) 效果图1. 报错及解决2. xfade、xfade_opeccl 特效切换3. ffmpeg命令行详解4. 源码4.1 auto.bash4.2 geneFade.py4.3 python moviepy合并视频及音频按照(视频长度截取对应的音频在合并)4.4 命令行记录参考这…

微信小程序一对多个页面间传递数据进行通信,事件触发的实现方法

在有些场景下&#xff0c;使用组件间通信或者组件和页面间通信并不可行。比如我需要只有一个websocket实例&#xff0c;并且需要向多个页面传递我接收到的消息。 下面的方法是一个页面向其它页面&#xff08;触发事件&#xff09;传递数据&#xff0c;其它页面也可以向这个页面…

变量和数据类型代码练习

案例一 /*编程实现变量的输入输出*/ //导入java目录中util目录的Scanner类 import java.util.Scanner; public class VarIOTest {public static void main (String args [] ) {// 1.声明两个变量用于记录姓名和年龄信息&#xff08;局部变量需要默认值&#xff09;//Sting na…

Vue中如何进行多语言处理

Vue中的多语言处理 在开发多语言Web应用程序时&#xff0c;处理文本翻译和国际化是一个重要的任务。Vue.js提供了多种方法来实现多语言处理&#xff0c;以确保您的应用程序能够支持不同语言的用户。本文将深入探讨在Vue中进行多语言处理的方法&#xff0c;并提供示例代码来帮助…

WebSocket基础——WebSocket的基本概念 VS Http SpringBoot整合WebSocket vue前端代码和效果展示

前言 WebSocket是一种在Web浏览器和服务器之间进行全双工通信的协议。它允许在单个TCP连接上进行双向通信&#xff0c;而不需要通过多个HTTP请求-响应循环来实现。相比传统的HTTP请求&#xff0c;WebSocket提供了更低的延迟和更高的实时性。 本篇博客介绍WebSocket的基本概念…

Linux shell编程学习笔记6:查看和设置变量的常用命令

上节我们介绍了变量的变量命名规则、变量类型、使用变量时要注意的事项&#xff0c;今天我们学习一下查看和设置变量的一些常用命令&#xff0c;包括变量的提升&#xff0c;有些命令在之前的实例中已经使用过了。 一、 echo &#xff1a;查看变量的值 语法格式&#xff1a;ech…

计算机毕业设计 基于SSM的垃圾分类管理系统(以医疗垃圾为例)的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

《发现的乐趣》作者费曼(读书笔记)

目录 一、书简介 二、作者理查德•费曼 费曼式思维 教育与传承 三、个人思考 四、笔记 科学家眼中的花之美 关于偏科 父亲教育我的方式 知道一个概念和真正懂得这个概念有很大区别 我没有义务去成全别人对我的期望 诺贝尔奖——够格吗&#xff1f; 探究世界的游戏规…

2023年汉字小达人市级比赛在线模拟题来了,四种练习助力好成绩

2023年第十届汉字小达人比赛区级自由报名活动已于9月30日结束&#xff0c;尽管最终晋级市级比赛的名单还需要在11月初发布&#xff08;有一些学校的校级选拔还没结束&#xff09;&#xff0c;但是许多小朋友已经开始准备市级比赛了。 根据往年的经验&#xff0c;实际比赛也是在…

接口测试入门实践

简单接口搭建(表单/REST) 五步教会你写接口 首先要安装flask包: pip install flask 从flask中导入Flask类和request对象: from flask import Flask, request从当前模块实例化出一个Flask实例:appFlask(__name__)编写一个函数来处理请求 从请求对象中获取数据:arequest.values.…