跟着小乐子进阶学习Linux系列19:如何压缩和解压数据

跟着小乐子进阶学习Linux系列19:如何压缩和解压数据

元旦快乐~

Hi~小伙伴们,好久不见啦~转眼已经是2018年的最后一天啦,趁着短短的假期,小乐子赶紧再来给大家更新一些内容吧~

跟着小乐子进阶学习Linux系列19:如何压缩和解压数据

今天要和大家一起来分享的内容非常简单,就是如何在Linux系统中压缩和解压文件。

相信大家日常在Windows系统中经常会使用各种软件来进行文件压缩和解压。在小乐子刚刚接触电脑的那个时候,最为常用的软件是“WinZip”和“WinRAR”两款。这些年,小乐子发现周围的小朋友们开始更多地使用一些国产的压缩工具软件。

在Linux系统中,其实也是有类系的工具包可以使用的。小乐子先来简单罗列一下常用的工具包吧~

跟着小乐子进阶学习Linux系列19:如何压缩和解压数据

  • zip

这是Windows上的压缩工具在Unix系统中的另一个实现版本。和在 Windows系统中一样,被压缩后的文件,后缀名是“.zip”

  • bzip2

这是采用了Burrows-Wheeler块排序文本压缩算法和霍夫曼编码的压缩工具。压缩文件的后缀名是“bz2”

  • compress

这是版本相当早的Unix系统下的压缩工具,压缩文件的后缀名是“.Z”。

  • gzip

这是Linux系统中最为常见的压缩工具,是GNU项目的产物,压缩文件的后缀名是“.gz”

作为一个分享Linux相关小知识的头条号,小乐子今天主要要和大家分享的当然是“gzip”工具啦~

跟着小乐子进阶学习Linux系列19:如何压缩和解压数据

字数不够,图片来凑

gzip

我们先来看一下系统手册对于gzip命令的描述吧:

跟着小乐子进阶学习Linux系列19:如何压缩和解压数据

跟着小乐子进阶学习Linux系列19:如何压缩和解压数据

跟着小乐子进阶学习Linux系列19:如何压缩和解压数据

Ummm......好吧,不知道为什么这个简单的小命令居然有那么大段的解释。简直可以当成是阅读理解来看了~

跟着小乐子进阶学习Linux系列19:如何压缩和解压数据

其实,“gzip”的用法并没有多么复杂。首先要和大家介绍的是,这个工具包其实包含了三个常用的命令:

  • gzip
  • gzcat
  • gunzip

下面我们一个一个来看吧~

跟着小乐子进阶学习Linux系列19:如何压缩和解压数据

命令:gzip

作用:压缩文件

用法:gzip filename

我们来看这个小例子。在下面的截图当中,有三个文件,以及一个文件夹,而文件夹内又有几个文件:

跟着小乐子进阶学习Linux系列19:如何压缩和解压数据

我们先试着将单个文件“myFile1”进行压缩:

gzip myFile1
跟着小乐子进阶学习Linux系列19:如何压缩和解压数据

很容易看到,gzip为我们在当前目录下创建了一个压缩文件“myFile1.gz”。这就是“gzip”最简单的用法啦~

额外需要注意的是,在完成压缩之后,“gzip”没有帮我们保留原始文件。这个时候,如果我们想要查看这个文件的内容,就可以使用“gzcat”命令啦:

命令:gzcat

作用:查看压缩过的文本文件的内容

用法:gzcat fileName

gzcat myFile1.gz

这里有一点值得注意,在小乐子所使用的Linux版本中,“gzcat”命令已经被“zcat”命令所取代,所以小乐子是这样使用的:

跟着小乐子进阶学习Linux系列19:如何压缩和解压数据

最后,当我们需要解压缩的时候,就需要使用到gunzip命令啦:

命令:gunzip

作用:解压缩文件

用法:gunzip fileName

这条命令的使用就更加简单啦:

跟着小乐子进阶学习Linux系列19:如何压缩和解压数据

如果我们需要同时压缩多个文件,怎么办呢?我们可以使用通配符:

gzip *
跟着小乐子进阶学习Linux系列19:如何压缩和解压数据

到这里,就出现了问题啦~

大家看到,在上面的截图中,当我们使用了通配符“*”之后,发现文件夹“myFolder1”没有被压缩,命令行提示我们:

gzip:myFolder1 is a directory -- ignored

意思就是说,gzip并不能帮助我们压缩文件夹。

另一个问题是,剩余的每一个文件,都被gzip单独压缩成为“.gz”文件了。这好像和大家的预期不太一样,用惯了Windows压缩的小伙伴们,应该会觉得将所有文件压缩成一个压缩包才对吧~

这个时候,我们就需要用到符号“>”啦:

gzip my* > my.gz

上面这条命令同时使用了通配符“*”和单箭头“>”,意思是说:

把所有以“my”开头的文件压缩到一个名为“my.gz”的压缩文件中

跟着小乐子进阶学习Linux系列19:如何压缩和解压数据

最后得到的效果 就是上面的截图那样啦~

Ummm...仿佛文件夹不能被压缩的问题仍然存在呢~~

跟着小乐子进阶学习Linux系列19:如何压缩和解压数据

关于这个问题,就当作是卖个关子,等小乐子下次和大家分享吧~~

跟着小乐子进阶学习Linux系列19:如何压缩和解压数据


分享到:


相關文章: