一、打包和压缩

打包呢就是把所有东西装在一起,然后压缩就是将这一包东西给它合理摆放,腾出更多的空间,以便放更多的东西。

压缩可以将如果东西是一定的情况下,占用更小的体积,如果空间固定那么压缩就会使这个空间能装更多的东西。这种就像要开学去学校的你,带很多东西,一直在按压行李箱。打包压缩可以使携带更方便以及省下更多的体积。平时在网上下载的东西,很多东西都是经过打包和压缩的
为什么在网络中要进行打包和压缩呢?

在计算机世界中能被打包压缩的它一定是一个整体,它是由多个文件变成了一个文件,这样的话就不容易造成文件缺失,这种缺失是缺少一些东西。而且打包压缩可以使体积变小,使下载时间变短,存储占据空间变大。

而这样也有了很多打包压缩的工具,windows上需打包压缩,Linux下也需打包压缩,因为当Linux充当服务器的时候,也需要各种网络场景满足通讯的需求,他也有打包压缩工具,zip,unzip,tar。打包和压缩方案有很多种,下面介绍两种。

二、Linux下进行打包和压缩

1.zip指令,unzip指令

先模拟出一个完整的目录结构
在这里插入图片描述

将这个目录及目录里面所有的内容全部打包压缩,那么如何打包,用zip指令 zip指令它的语法是:zip 形成的压缩文件.zip 目录或者文件
它是将目录或文件压缩成zip格式

在这里插入图片描述
我先对整个d1目录进行打包,不带其它选项
在这里插入图片描述
可以发现打包形成了一个.zip文件

在这里插入图片描述
对其进行解压解包
在这里插入图片描述
发现有d1存在,那么tree一下d1,
在这里插入图片描述
它除了d1啥也没有,因为在zip打包时,如果不带选项,他只会认为你打包压缩的是普通文件,我将刚刚打包压缩的d1那些删掉,重新来,打包压缩目录是需要带-r选项的,它会递归式的打包和压缩
在这里插入图片描述
可以发现出现了刚刚没有的部分
在这里插入图片描述
mv d1.zip d/剪切到d路径下
在这里插入图片描述
unzip d1.zip解压
在这里插入图片描述
可以发现这样才是对这个目录的完整打包。
而我刚刚给d1/d2/file4.txt文件里写了一点东西,现在看看
在这里插入图片描述
确实是有的,蒸滴c
它也可以将目录和普通文件一起打包压缩,我在这个路径之下,进入d1,然后将d2和file1.txt进行打包压缩
在这里插入图片描述
进入dd路径,对其解压,
在这里插入图片描述
可以发现他这是可以的。
但是解压还有一种场景,它可以按照你自己所需解压的任意路径,解压到指定的路径,但是需要带上-d选项 指定路径
在这里插入图片描述
怎么查看是否装zip,在命令行输入zip --help 如果出现这个就装了,没有出现就是没有安装
在这里插入图片描述
如果没有就得去安装咯,但是此时是在普通用户下,你需要以root身份登录即可。

2.tar指令

tar也有打包压缩功能,不用打开它,可以直接看内容
它直接有很多的选项
在这里插入图片描述
tar 打包压缩:tar czf code.tgz d1 file
为什么这里带选项时没有-?

是因为tar指令centos7这里它不允许带-,有些安装的环境允许带-,有些不允许可带选项c

czf中,c:代表创建,因为打包压缩成功之后形成一个新文件,所有新文件就是-c的意思咯,z:表示它以zip的方式进行压缩,f:指明新形成的文档名称,code.tgz。d1 file是要打包的文件名
在这里插入图片描述
tar指令可以不用解压就可以预览这压缩包里面的内容
tar tzf code.tgz d1 file
在这里插入图片描述
t选项,预览它
但是此时我并不想看这个压缩包里面的内容,还是将其打包,并且要将这个压缩包解开
x选项,即可,当我将这两个删除,然后tar xzf code.tgz d1 file
在这里插入图片描述
它直接将其解压出来了
在这里插入图片描述
它解压不指定解压路径,他其实都是解压到当前路径,如果想要解压到指定路径,带-C选项,然后指定路径即可 tar xzf code.tgz -C d/
在这里插入图片描述

tar打包压缩/解压具体格式:

tar czf xxx.tgz -----打包压缩
tar xzf xxx.tgz -----预览
tar tzf xxx.tgz ----解压解包
其中.tgz完整的是.tar.gz
.tar是打包后缀.gz是压缩后缀

打包压缩/解压解包有很多种方案,在这里只介绍两种
🆗打包压缩/解压解包就到这了

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐