失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > linux上解压.zip命令 zip命令_Linux zip命令:压缩和解压文件(.zip文件)

linux上解压.zip命令 zip命令_Linux zip命令:压缩和解压文件(.zip文件)

时间:2019-07-18 09:11:41

相关推荐

linux上解压.zip命令 zip命令_Linux zip命令:压缩和解压文件(.zip文件)

让我们回到2000年4月14日那天,就在美国密尔沃基的一家旅馆里,人门发现了一具尸体,经尸检,死者的死因是酗酒过量导致的死亡。死者被发现时,手里还拿着空酒瓶,死亡的前一刻应该还在不断地饮酒。

对于一座城市来说,类似这样的事件并不稀奇。但是,这一次却引起了计算机界的极度关注,人们在世界各地自发地发起纪念活动,哀悼一个重要生命的离去。

他是谁呢?他的名字叫菲利普·卡兹(Philip Katz),他是 Zip 压缩算法的发明人,全世界几乎每一台电脑中都运行着他的压缩程序,压缩后的文件后缀常以“.zip”结尾。这些 zip 结尾的文件大都有一个共同的特点,那就是在文件内容的开头部分都标有“PK”的字样,这是作者名字的首字母缩写。

那一年,菲利普·卡兹年仅 37 岁。

初识 zip 命令

和 gzip/bzip2 类似,zip 命令用于文件压缩,unzip 命令则用于解压缩。

我想把一个文件和一个文件夹一起压缩成一个压缩文件:

#我们将mynote.txt文件和soft文件夹一起压缩成zdata.zip文件

[roc@roclinux ruanjian]$ zip -r zdata.zip mynote.txt soft/

adding: mynote.txt (deflated 91%)

adding: soft/ (stored 0%)

adding: soft/redis-2.6.16.tar.gz (deflated 0%)

adding: soft/go1.1.2.Linux-amd64.tar.gz (deflated 1%)

adding: soft/.abc (stored 0%)

从上面的用法可以看出,zip 支持对文件、文件夹进行压缩。-r选项表示递归参数中指定的文件夹。

zip 命令,与 gzip/bzip2 命令有一个明显的不同,那就是 zip 命令在压缩过程中,会保留原始文件,这一点要记住哦。

接下来的解压工作,同样简单易学,使用 unzip 就好了:

#解压zip文件到newdir文件夹中,我们通过-d选项来指定解压缩的目标路径

[roc@roclinux ruanjian]$ unzip -d newdir/ zdata.zip

Archive: zdata.zip

inflating: newdir/mynote.txt

creating: newdir/soft/

inflating: newdir/soft/redis-2.6.16.tar.gz

inflating: newdir/soft/go1.1.2.Linux-amd64.tar.gz

extracting: newdir/soft/.abc

再介绍下 -v 选项和 -t 选项

假设有一个很大的压缩文件 large.zip,我不想解压缩,只想看看它里面有什么,这时就需要-v选项的协助:

[roc@roclinux ruanjian]$ unzip -v zdata.zip

Archive: zdata.zip

Length Method Size Cmpr Date Time CRC-32 Name

-------- ------ ------- ---- ---------- ----- -------- ----

96 Defl:N 9 91% 02-20- 16:49 b51bd543 mynote.txt

0 Stored 0 0% 02-18- 11:13 00000000 soft/

999579 Defl:N 999279 0% 02-17- 22:52 64e7f8d5 soft/redis-2.6.16.tar.gz

41756805 Defl:N 41320991 1% 02-17- 22:52 fefe0b94 soft/go1.1.2.Linux-amd64.tar.gz

0 Stored 0 0% 02-18- 11:13 00000000 soft/.abc

-------- ------- --- -------

42756480 42320279 1% 5 files

我下载了一个压缩文件 large.zip,想验证一下这个压缩文件是否下载完全了,-t选项就派上用场了。

[roc@roclinux ruanjian]$ unzip -t zdata.zip

Archive: zdata.zip

testing: mynote.txt OK

testing: soft/ OK

testing: soft/redis-2.6.16.tar.gz OK

testing: soft/go1.1.2.Linux-amd64.tar.gz OK

testing: soft/.abc OK

No errors detected in compressed data of zdata.zip.

竟然能在 zip 文件中删除文件

zip 其实很博大精深,很多你想象不到的功能,它都具备,很多地方体贴至极。下面我们举一个例子,来证明给你看。

有时候我们的工程师在辛辛苦苦压缩好 zip 文件后,发现里面有几个文件并不需要压缩进去,多余的文件占用了不少的空间。如果我们解压后再压缩的话,不仅耗费 cpu 资源和磁盘空间,而且还要有专人跟进等待和操作。

遇到这类问题该怎么办?zip 早就帮你想到啦。zip 提供了-d选项,即 --delete 选项,可以让我们在已经压缩好的 zip 文件中删除某个特定文件。

#还记得我们在压缩时囊括了的mynote.txt吧,现在把它从zip文件中清掉

[roc@roclinux ruanjian]$ zip zdata.zip -d mynote.txt

deleting: mynote.txt

#再看看,mynote.txt已经无影无踪了

[roc@roclinux ruanjian]$ unzip -v zdata.zip

Archive: zdata.zip

Length Method Size Cmpr Date Time CRC-32 Name

-------- ------ ------- ---- ---------- ----- -------- ----

0 Stored 0 0% 02-18- 11:13 00000000 soft/

999579 Defl:N 999279 0% 02-17- 22:52 64e7f8d5 soft/redis-2.6.16.tar.gz

41756805 Defl:N 41320991 1% 02-17- 22:52 fefe0b94 soft/go1.1.2.Linux-amd64.tar.gz

0 Stored 0 0% 02-18- 11:13 00000000 soft/.abc

-------- ------- --- -------

42756384 42320270 1% 4 files

这个用法有时候会事半功倍,比如在备份大规模数据或文件时,可以节省很多压缩和解压缩的时间。时间不是挤出来的,而是省出来的。

好啦,恭喜大家,zip 学习完了,该命令其实不难,赶快去实践中练习吧!

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如果觉得《linux上解压.zip命令 zip命令_Linux zip命令:压缩和解压文件(.zip文件)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。