1、压缩打包介绍

文件压缩之后,占用的空间变小,方便传输,也可以节省磁盘空间。
常见的压缩文件:
Windows .rar .zip .7z
Linux .zip .gz .bz2 .xz .tar.gz .tar.bz2 .tar.xz

2、gzip压缩工具

压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第1张图片

gzip压缩文件比较简单,直接跟文件名即可,先做一下准备工作,见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第2张图片
可以看到出现了很多后缀名称为 .conf 的文件,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第3张图片
接下来把这些文件全部输出到一个文件里,并且查看大小,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第4张图片
多追加几次,增加文件 1.txt 的大小,会发现大小增加的不太正常。这边要注意一下,最后的2.2M大小是不太准确的,里面有一些虚的空间。这个不用太在意,接着往下做实验,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第5张图片
使用gzip压缩完文件之后,发现原来的文件1.txt不见了,取而代之的是文件1.txt.gz ,查看大小才332K。接着解压文件1.txt.gz,发现文件又恢复成1.txt了,再查看大小就变成1.3M了。这就是上面说的虚的空间,经过压缩和解压之后就不见了。现在不妨再查看一下行数,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具
可以看到行数是不变的,说明空间变小不是因为删除内容而变小的,是因为确实存在一些虚的空间。
gzip压缩的用法里面有一个选项,1至9表示压缩的级别,具体用法见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具
可以看到压缩级别为1的时候,大小是392K,比默认压缩级别的大小大一些,一般默认级别是6,这边保持默认就可以了。
还有一个解压的命令 gunzip ,用法见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第6张图片
上图中尝试了9和6级别的压缩,可以看到压缩后文件的大小是一样的,这边说明一个问题文件压缩到一定层次,就不会再变小了。
压缩后的文件,无法使用cat命令查看,type命令也不行,需要使用file命令,见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第7张图片
最上面那些字符是使用cat命令查看出现的乱码,使用type命令会显示找不到,而使用file命令,就会显示被压缩前的文件是1txt,基于Unix平台,压缩的时间是2018年1月18日21:15:14等内容。
cat命令查看不了,还可以使用zcat命令,输入 zcat 1.txt.gz ,回车,出现几万行的内容,这边就不截图了。这个命令的原理是先解压再cat查看。
还有一个选项-c,可以保留原文件,在指定的目录下生成新的压缩文件,见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第8张图片
解压的时候,也可以使用-c来保留压缩文件,在指定的目录下生成新的解压文件,并且解压文件的名字是可以更改的,见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第9张图片

这边有个注意事项,gzip不能压缩目录。

3、bzip2压缩工具

压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第10张图片

bzip2 压缩后的文件大小比 gzip 压缩后的文件小,它们俩的算法不一样,且 bzip2 耗费 cpu 的资源比较多。接下来做实验,没有找到 bzip 命令,就安装一个,见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第11张图片
安装完毕,输入命令,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第12张图片
上图可以看出,使用bzip2命令压缩后,占用的大小是160K,上面使用gzip命令压缩后,占用的大小是332K,很明显,bzip2压缩的文件大小比较小。
同样的,解压使用选项-d选项或是bunzip2命令,见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第13张图片
同样的, bzip2也不能压缩目录。也有一个选项-c,可以保留原文件,在指定的目录下生成新的压缩文件。解压的时候,也可以使用-c来保留压缩文件,在指定的目录下生成新的解压文件,并且解压文件的名字是可以更改的,见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第14张图片
同样的,bzip2 也有压缩级别,默认的压缩级别是9,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第15张图片
也可以使用 file 查看压缩文件,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第16张图片
上图中 text 表示普通的文本文档,而下图的 binary 表示二进制文件。其他情况,见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第17张图片
这边也可以使用bzcat查看文件,见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具
输入上图命令后,回车,即可查看,内容太多,不截图了。

4、xz压缩工具

压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第18张图片

xz压缩的用法和上面两种的用法基本上是一样的,但是xz压缩工具用的较少。见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第19张图片
xz压缩后的文件更小,只有60K,显然耗费的 cpu 更多,默认的压缩级别是6 。这个压缩级别不用纠结,按默认的来就可以了。
xz 也不支持目录压缩,其他用法,见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第20张图片
输入上图命令后,回车,即可查看,内容太多,不截图了。

5、zip压缩工具

压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第21张图片

前面提到的几个压缩工具,都不支持压缩目录,zip 就可以压缩目录。
既然支持压缩目录,那就先拷贝一个目录进来,具体操作,见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第22张图片
接着把 4.txt 文件放入 lyslinux/2/ 里,使目录内容比较大,见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第23张图片
接着在压缩文件的时候,发现zip命令没有安装,输入命令 yum install -y zip ,回车,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第24张图片
然后压缩文件,见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具
可以看到 2.txt.zip 的大小是332K 。 其中,压缩文件最后显示的大小,与文件的内容和类型是有关系的,与压缩工具类型没有直接关系,这边注意一下。
接下来压缩目录,需要加上 -r ,见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第25张图片
使用 zip 压缩,有一个特点,原来的文件不会删除,这与前面的三个工具不同。
解压缩使用命令 unzip ,发现没有安装,也需要安装一下,见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第26张图片
安装完成之后,输入命令 unzip lys.zip ,回车,见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第27张图片
会发现,跳出来好多询问,这是因为zip压缩的时候,不会删除原文件,解压过程中就会出现相同的文件,所以需要询问一下要不要覆盖原来的文件。n 是不要覆盖,y 是要覆盖,A 是全部覆盖,N 是全部不覆盖,r 是重命名。
unzip 也可以指定解压的路径,如果不指定,就是在当前目录下。
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第28张图片
先创建一个目录 test,然后使用 -d 选项将压缩文件解压到指定目录 test 里面,结果是解压成功了。后面想要在解压的时候重命名为 aa.txt ,结果是直接创建了一个名为 aa.txt 的目录,在 aa.txt 目录下有一个 2.txt 文件。说明 zip 压缩工具,在解压的时候是不能更改文件名的。
zip 压缩包也是不能直接查看内容的,不过可以使用命令 unzip -l lys.zip ,查看压缩包里面的文件列表,见下图,
压缩打包介绍及gzip、bzip2、xz、zip压缩工具_第29张图片
以上就是 zip 压缩工具的用法。