山地人

zip&unzip

山地人
山地人
2021-05-24

这一篇,我们看看如何在Linux上做文件的归档压缩和解压缩。

zip和unzip

在Linux中,我们可以通过zip和unzip命令来对文件进行压缩和解压缩。

压缩文件

zip可以对文件快速创建压缩包。

zip archive inpath inpath ...
  • archive指定生成压缩归档文件的路径
  • inpath inpath ...要添加到压缩包中的文件路径

动动手

使用zip命令,对上面这几个文件进行压缩归档。

zip backup.zip test/*.txt
# 查看是否生成压缩
ls

启动终端,系统已经在/home目录里创建了一些测试文件,放在/home/test目录中,按照上面的步骤进行练习。

分卷压缩

对文件进行分卷压缩

zip -s 64k new.zip *.txt
  • -s 64k 指定分卷大小为64K,zip允许的最小分卷大小为64k。
zip test.zip /bin/zsh -s 100k

这里我们用/bin/zsh作为要分卷压缩的对象,生成以100k为分卷大小的压缩包

打开终端,试试上面的分卷操作

对压缩包重新分卷 如果你有一个较大的压缩包,要进行翻卷也可以采用类似的方法。

zip big.zip --out new.zip -s 2m

上面的这条命令,会将big.zip2MB大小进行分卷。

zip的更多参数

zip options archive inpath inpath ...

options在这里是指一系列的选项参数。

参数说明
-r递归遍历目录
-q不显示压缩命令的执行过程(q为quite缩写,安静模式)
-d删除压缩包中指定文件
zip -r backup2.zip test
# 不使用 -r 对比差异
zip backup3.zip test

启动终端,按照上面的步骤进行练习。

不使用-r参数,压缩遇到目录,只会添加目录路径本身,不会遍历目录内其他文件。

从压缩包中删除指定的文件

zip -d backup2.zip test/abc.txt

你可以通过 man zip查看更多关于zip命令的详细说明。

解压缩文件

unzip filepath
  • filepath 要解压缩的文件的路径。

删除测试文件

rm *.txt
# 查看是否清除成功
ls

backup.zip文件进行解压缩

unzip backup.zip
# 查看是否解压缩文件
ls

启动终端,按照上面的步骤进行练习。

unzip的更多参数

unzip file -d exdir
  • file要解压缩的文件路径
  • -d exdir指定要解压缩的路径,其中exdir为解压缩后的文件路径

backup.zip文件解压到/home/abc目录下

unzip backup.zip -d /home/abc

启动终端,按照上面的步骤进行练习。

unzip -v backup.zip

启动终端,按照上面的步骤进行练习。

unzip参数小结

参数说明
-v查看压缩包内容
-d指定解压缩路径

小结

下面我们把这节课学过的知识点再来回顾一下:

命令解释
zip压缩文件
unzip解压缩文件

至此,本篇教程也到了该和你说再见的时候了,我们下期再见。

学完本篇互动教程,如果你觉得体验不错,可以把网页链接发送给你的小伙伴,让他/她也来感受一下。当然,你也可以继续看看网站上其他的的互动教程,希望`idev365`能够给你带来收获。