Liunx压缩命令 - zip

news2024/11/25 8:19:02

zip命令 – 压缩文件

zip命令的功能是用于压缩文件,解压命令为unzip。通过zip命令可以将文件打包成.zip格式的压缩包,里面会包含文件的名称、路径、创建时间、上次修改时间等等信息,与tar命令相似。

语法格式:zip 参数 目标文件.zip 源文件或目录名

常用参数:

参数功能操作实例
-A自动解压缩文件zip -A archive.zip
-b设置暂存文件的目录zip -b /tmp archive.zip file.txt
-c添加注释信息到压缩文件zip -c archive.zip file.txt -z "This is a comment"
-d更新压缩包内文件zip -d archive.zip file.txt
-F尝试修复损坏的压缩文件zip -F archive.zip --out fixed_archive.zip
-h显示帮助信息zip -h
-i仅压缩符合条件的文件zip -r archive.zip . -i "*.txt"
-k使用MS-DOS兼容格式zip -k archive.zip file.txt
-l将“LF”替换成“LF+CR”字符zip -rl archive.zip .
-L显示版本信息zip -L
-m压缩后删除源文件zip -rm archive.zip file.txt
-n不压缩具有特定字符串的文件zip -rn archive.zip . -x "*test*"
-q静默执行模式zip -rq archive.zip .
-r递归处理所有子文件zip -r archive.zip .
-S包含系统和隐藏文件zip -r archive.zip . -S
-t设置压缩时间为指定日期zip -t "2023-05-06 12:00" archive.zip file.txt
-T检查压缩文件是否正确无误zip -T archive.zip
-v显示执行过程详细信息zip -rv archive.zip .
-V保留VMS操作系统的文件属性zip -V archive.zip file.txt
-w在文件名称中加入版本编号zip -w archive_v1.zip file.txt
-X不保留过多的文件属性信息zip -X archive.zip file.txt
-y直接保存符号链接,而不是对应文件zip -y archive.zip symlink_folder

操作示例

zip格式压缩

在这里插入图片描述

zip a.zip a 命令的意思是将当前目录下名称为 a 的文件压缩到名为 a.zip 的压缩包中。

这个命令使用了 Linux 中的 zip 命令。zip 命令可以用于在 Linux 系统中创建、修改和提取 ZIP 文件。zip 命令后紧跟 -r 参数表示以递归方式压缩子目录下所有文件,如果只压缩当前目录下的文件,则不需要使用 -r 参数。然后,命令中的 a.zip 表示生成的压缩文件名为 a.zip,最后的 a 表示要压缩的文件名。

在执行zip a.zip a这段命令时提示:

-bash: zip: command not found

这个错误提示表示在当前系统中找不到 zip 命令。可能是因为系统没有安装 zip 命令或者 zip 命令没有被正确的配置。

在 Linux 中,如果想要使用 zip 命令进行文件压缩,需要先安装 zip 软件包。可以通过命令 yum install -y zip 来安装 zip 命令。如果是其他 Linux 发行版,则可以通过对应的软件包管理器进行安装。

如果已经安装了 zip 软件包但仍然出现 -bash: zip: command not found 的错误提示,可以尝试重新配置环境变量,将 zip 命令所在的路径添加到系统的 PATH 环境变量中,使得系统能够正确的找到 zip 命令。

在这里插入图片描述

第一步,列出当前目录下的文件和文件夹

ls

第二步,将当前目录下名为 a 的文件压缩成名为 a.zip 的压缩包

zip a.zip a

第三步,再次列出当前目录下的文件和文件夹

ls

PS: zip格式压缩源文件不会消失,

第四步,在当前路径下创建名为 aa 的目录

mkdir aa

第五步,再次查看当前目录,以确认 aa 目录创建成功

ls

第六步,将 aa 目录压缩成名为 aa.zip 的压缩包

zip aa.zip aa

第七步,再次列出当前目录下的文件和文件夹

ls

第八步,删除名为 aa.zip 的压缩包,-rf 表示强制删除,不进行提示

rm -rf aa.zip

第九步,再次查看当前目录,以确认 aa.zip 压缩包被删除

ls

第十步,进入 aa 文件夹

cd aa

第十一步,在 aa 目录中创建三个空文件 a.txt, b.txt, c.txt

touch a.txt b.txt c.txt

第十二步,返回上一级目录

cd

第十三步,将 aa 目录压缩成名为 aa.zip 的压缩包

zip aa.zip aa

ps:执行命令 zip aa.zip aa 会将当前路径下名为 aa 的目录及其所有子文件夹压缩成一个名为 aa.zip 的压缩包。并不会把里面的txt文件一起进行压缩;

如果要将 aa 目录下的文件一起压缩进 aa.zip 中,应该先进入 aa 目录,然后执行命令 zip ../aa.zip *。这样可以将 aa 目录下所有的文件和文件夹压缩进 ../aa.zip 这个压缩包中。

在这里插入图片描述

这是另一种方法

  1. 这三条命令的作用依次为:删除当前目录下名为 aa.zip 的文件;显示当前目录下的文件和子目录列表;将当前目录下的 aa 目录及其所有子目录和文件压缩成一个名为 aa.zip 的文件。
  2. 第一步中的 rm -rf aa.zip 命令会强制删除当前目录下名为 aa.zip 的文件,如果该文件不存在,则不会有任何影响。
  3. 第二步中的 ls 命令会显示当前目录下的所有文件和子目录的名称列表,并在每个名称前面添加文件类型和权限等信息。
  4. 第三步中的 zip -r aa.zip aa 命令会将当前目录下名为 aa 的目录及其所有子目录和文件压缩成一个名为 aa.zip 的文件。其中,-r 选项表示将目录和子目录一并压缩,而不仅仅是压缩目录本身。

zip格式解压

在这里插入图片描述

第一步 ls

显示当前目录下的所有文件和子目录的名称列表

第二步 rm -f a

删除当前目录下名为 a 的文件,因为我要解压a.zip,a.zip解压出来

就是a文件,但是原本已经存在了文件,所以要先前的删除避免冲突

第三步 unzip a.zip

解压当前目录下名为 a.zip 的文件

但是因为没有安装unzip 压缩解压工具,所以报错

PS:虽然之前安装zip这个工具但是对于Liunx来讲

压缩和解压是两个软件

第四步 yum install unzip

使用 yum 包管理器安装 unzip 压缩解压工具。

在这里插入图片描述

经过安装unzip这个解压工具,就能顺利解压了;
Liunx来讲
压缩和解压是两个软件
第四步 yum install unzip
使用 yum 包管理器安装 unzip 压缩解压工具。
经过安装unzip这个解压工具,就能顺利解压了;
PS: zip格式不管是压缩还是解压缩对于操作的那个文件都没有任何影响,源文件是不会消失的

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

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

相关文章

MySQL高级_第04章_逻辑架构

MySQL高级_第04章_逻辑架构 1. 逻辑架构剖析 1.1 服务器处理客户端请求 那服务器进程对客户端进程发送的请求做了什么处理,才能产生最后的处理结果呢?这里以查询请求为例展示: 下面具体展开看一下: 1.2 Connectors 1.3 第1…

Go 本地缓存 bigcache

​本地缓存已经算是数据库的常规设计了,因为数据直接缓存在机器内存中,避免昂贵的IO开销,数据的读取和写入快到不可思议。本地缓存常驻在内存中,就好像业务逻辑中声明的全局变量一样,不会被垃圾回收。但本地内存也会导…

JavaScript:new操作符

一、new操作符的作用 用于创建一个给定构造函数的实例对象 new操作符创建一个用户定义的对象类型的实例 或 具有构造函数的内置对象的实例。二、new一个构造函数的执行过程 2.1、创建一个空对象obj 2.2、将空对象的原型与构造函数的原型连接起来 2.3、将构造函数中的this绑定…

CPU的功能和组成

CPU的功能和组成 CPU是控制计算机自动完成取指令和执行指令任务的部件,是计算机的核心部件、简称CPU 功能: 指令控制:对程序的顺序控制也是对指令执行的顺序控制(PC、JMP)操作控制:产生各种操作信号&…

2023.05.17-使用Vizzy进行音乐的可视化

文章目录 1. 简介2. 官网3. 使用3.1. 进行音乐可视化 1. 简介 Vizzy是MusicVid创作者的另一个在线音乐可视化工具。虽然这款应用还处于Alpha版本,但Vizzy相当令人印象深刻,绝对值得一试。Vizzy支持动画文本对象、频谱、图像和效果。工具集的最突出的功能…

基础篇007. 串行通信(二)--中断方式接收数据

目录 1. 实验任务 2. 硬件原理 3. 利用STM32CubeMX创建MDK工程 3.1 STM32CubeMX工程创建 3.2 配置调试方式 3.3 配置时钟电路 3.4 配置GPIO 3.5 配置串口参数 3.6 配置时钟 3.7 项目配置 4. 串行通信实验 4.1 UART串口printf,scanf函数串口重定向 4.2 …

数组(C语言程序设计)

一、一维数组 数组是相同类型的有序数据的集合 1、一维数组的定义 形式:类型名 数组名[常量表达式] 2、一维数组元素的引用 形式:数组名[下标] 3、一维数组的初始化 形式:类型名 数组名[数组长度]{初值表} 4、一维数组程序设计示例 【例6.…

如何画类图

是为了写论文才回头看的,已经忘光了 在类图中,我们用一个矩形来表示一个类。这个矩形通常分为三个部分: 顶部:写类的名字。 中间:写类的特性,比如一个"狗"类可能有"颜色",“品种"…

Go语言的错误和异常处理:error、panic和recover

目录 【error类型】 error的基本用法 error.Is 用法 封装自定义错误结构体 error.As 用法 错误行为特征检视策略 【异常panic和recover】 panic recover panic 和 os.Exit 如何正确应对panic 【error类型】 error的基本用法 在Go语言中,一般使用 error …

【P1003 [NOIP2011 提高组] 铺地毯】

[NOIP2011 提高组] 铺地毯 题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 n n n 张地毯,编号从 1 1 1 到 n n n。现在将这些地毯按照编号从小…

Redis单线程 Vs 多线程

Redis单线程 Vs 多线程 一 面试题引入1.1 Redis到底是单线程还是多线程?1.2 IO多路复用1.3 Redis为什么快?1.4 Subtopic 二 Redis为什么选择单线程?2.1 这种问法其实并不严谨,为啥这么说?2.2 Redis是单线程究竟何意&am…

什么是JavaScript?为什么需要学习它?

JavaScript是一种广泛使用的编程语言,它被用于开发Web应用程序、桌面应用程序和移动应用程序。它的出现可以追溯到1995年,由瑞典计算机科学家Tim Bergling和美国计算机科学家John Resig共同开发。 JavaScript的历史可以追溯到20世纪90年代,当…

完美解决:由于找不到MSVR100.dll ,无法继续执行代码

当我们在运行某一个软件时,突然提示找不到MSVCR100.dll,我相信有不少用户都遇到过这种情况,并且在重新安装软件后还是无法解决。那么电脑提示找不到MSVCR100.dll该怎办呢? MSVCR100.dll是什么? 在解决找不到MSVCR100.dll这个问…

RabbitMQ之交换机详解

1 Exchages ​ 我们假设的是工作队列背后,每个任务都恰好交付给一个消费者(工作进程)。在这一部分中,我们将做一些完全不同的事情,我们将消息传达给多个消费者。这种模式 称为 ”发布/订阅“。 ​ 为了说明这种模式,我们将构建一…

vi和vim编辑器介绍与使用

VI 和 VIM 编辑器是 Unix 和 Linux 操作系统中最常用的文本编辑工具之一。虽然它们都用于编辑文本文件,但它们有一些不同之处。本文将对 VI 和 VIM 编辑器进行介绍,帮助你更好地了解编辑器的特性和优点。 Linux下常见的文本编辑器有: emacsp…

Unity解决在摄像机上面设置了TargetTexture后获取屏幕坐标不准的问题

大家好,我是阿赵 这里来分享一个最近遇到的小问题。 一、发现问题 如果我们想将3D模型放在UI上,一个比较普遍的做法是: 用一个单独的摄像机,把3D模型拍下来,并转成RenderTexture,贴到RawImage上。 那么如…

枚举类型enum详解

概述 enum是C语言中的一个关键字,enum叫枚举数据类型,枚举数据类型描述的是一组整型值的集合(这句话其实不太妥当),因为枚举类型是一种基本数据类型,而不是一种构造类型,它不能再分解成什么基本…

架构设计如何绘图?

大家好,我是易安! 很多同学技术能力很强,架构设计也做得很好,但是在给别人讲解的时候,总感觉像是“茶壶里煮饺子,有货倒不出”。 其实,在为新员工培训系统架构、给领导汇报技术规划、上技术大会…

详解c++STL—容器vector

一、vector基本概念 功能: vector数据结构和数组非常相似,也称为单端数组 vector与普通数组的区别: 不同之处在于数组是静态空间,而vector可以动态扩展 动态扩展: 并不是在原空间之后续接新空间,而是找…

阿里云ECS服务器实例挂载数据盘步骤

1、首先登录阿里云ECS服务器,通过 df -h 命令查看当前磁盘挂载情况,可以发现只有系统盘40G 2、通过 fdisk -l 命令查看磁盘情况,可以发现有两个盘: 系统盘 /dev/vda: 42.9GB, 数据盘 /dev/vdb: 322.1GB 3、运行 fdisk…