一、压缩打包介绍linux
文件压缩以后,占用的空间变小,方便传输,也能够节省磁盘空间。
常见的压缩文件:
Windows .rar .zip .7z
Linux .zip .gz .bz2 .xz .tar.gz .tar.bz2 .tar.xz算法
二、gzip压缩工具ide
gzip压缩文件比较简单,直接跟文件名便可,先作一下准备工做,见下图,
能够看到出现了不少后缀名称为 .conf 的文件,
接下来把这些文件所有输出到一个文件里,而且查看大小,
多追加几回,增长文件 1.txt 的大小,会发现大小增长的不太正常。这边要注意一下,最后的2.2M大小是不太准确的,里面有一些虚的空间。这个不用太在乎,接着往下作实验,
使用gzip压缩完文件以后,发现原来的文件1.txt不见了,取而代之的是文件1.txt.gz ,查看大小才332K。接着解压文件1.txt.gz,发现文件又恢复成1.txt了,再查看大小就变成1.3M了。这就是上面说的虚的空间,通过压缩和解压以后就不见了。如今不妨再查看一下行数,
能够看到行数是不变的,说明空间变小不是由于删除内容而变小的,是由于确实存在一些虚的空间。
gzip压缩的用法里面有一个选项,1至9表示压缩的级别,具体用法见下图,
能够看到压缩级别为1的时候,大小是392K,比默认压缩级别的大小大一些,通常默认级别是6,这边保持默认就能够了。
还有一个解压的命令 gunzip ,用法见下图,
上图中尝试了9和6级别的压缩,能够看到压缩后文件的大小是同样的,这边说明一个问题文件压缩到必定层次,就不会再变小了。
压缩后的文件,没法使用cat命令查看,type命令也不行,须要使用file命令,见下图,
最上面那些字符是使用cat命令查看出现的乱码,使用type命令会显示找不到,而使用file命令,就会显示被压缩前的文件是1txt,基于Unix平台,压缩的时间是2018年1月18日21:15:14等内容。
cat命令查看不了,还可使用zcat命令,输入 zcat 1.txt.gz ,回车,出现几万行的内容,这边就不截图了。这个命令的原理是先解压再cat查看。
还有一个选项-c,能够保留原文件,在指定的目录下生成新的压缩文件,见下图,
解压的时候,也可使用-c来保留压缩文件,在指定的目录下生成新的解压文件,而且解压文件的名字是能够更改的,见下图,工具
这边有个注意事项,gzip不能压缩目录。3d
三、bzip2压缩工具blog
bzip2 压缩后的文件大小比 gzip 压缩后的文件小,它们俩的算法不同,且 bzip2 耗费 cpu 的资源比较多。接下来作实验,没有找到 bzip 命令,就安装一个,见下图,
安装完毕,输入命令,
上图能够看出,使用bzip2命令压缩后,占用的大小是160K,上面使用gzip命令压缩后,占用的大小是332K,很明显,bzip2压缩的文件大小比较小。
一样的,解压使用选项-d选项或是bunzip2命令,见下图,
一样的, bzip2也不能压缩目录。也有一个选项-c,能够保留原文件,在指定的目录下生成新的压缩文件。解压的时候,也可使用-c来保留压缩文件,在指定的目录下生成新的解压文件,而且解压文件的名字是能够更改的,见下图,
一样的,bzip2 也有压缩级别,默认的压缩级别是9,
也可使用 file 查看压缩文件,
上图中 text 表示普通的文本文档,而下图的 binary 表示二进制文件。其余状况,见下图,
这边也可使用bzcat查看文件,见下图,
输入上图命令后,回车,便可查看,内容太多,不截图了。ip
四、xz压缩工具资源
xz压缩的用法和上面两种的用法基本上是同样的,可是xz压缩工具用的较少。见下图,
xz压缩后的文件更小,只有60K,显然耗费的 cpu 更多,默认的压缩级别是6 。这个压缩级别不用纠结,按默认的来就能够了。
xz 也不支持目录压缩,其余用法,见下图,
输入上图命令后,回车,便可查看,内容太多,不截图了。文档
五、zip压缩工具it
前面提到的几个压缩工具,都不支持压缩目录,zip 就能够压缩目录。
既然支持压缩目录,那就先拷贝一个目录进来,具体操做,见下图,
接着把 4.txt 文件放入 lyslinux/2/ 里,使目录内容比较大,见下图,
接着在压缩文件的时候,发现zip命令没有安装,输入命令 yum install -y zip ,回车,
而后压缩文件,见下图,
能够看到 2.txt.zip 的大小是332K 。 其中,压缩文件最后显示的大小,与文件的内容和类型是有关系的,与压缩工具类型没有直接关系,这边注意一下。
接下来压缩目录,须要加上 -r ,见下图,
使用 zip 压缩,有一个特色,原来的文件不会删除,这与前面的三个工具不一样。
解压缩使用命令 unzip ,发现没有安装,也须要安装一下,见下图,
安装完成以后,输入命令 unzip lys.zip ,回车,见下图,
会发现,跳出来好多询问,这是由于zip压缩的时候,不会删除原文件,解压过程当中就会出现相同的文件,因此须要询问一下要不要覆盖原来的文件。n 是不要覆盖,y 是要覆盖,A 是所有覆盖,N 是所有不覆盖,r 是重命名。
unzip 也能够指定解压的路径,若是不指定,就是在当前目录下。
先建立一个目录 test,而后使用 -d 选项将压缩文件解压到指定目录 test 里面,结果是解压成功了。后面想要在解压的时候重命名为 aa.txt ,结果是直接建立了一个名为 aa.txt 的目录,在 aa.txt 目录下有一个 2.txt 文件。说明 zip 压缩工具,在解压的时候是不能更改文件名的。
zip 压缩包也是不能直接查看内容的,不过可使用命令 unzip -l lys.zip ,查看压缩包里面的文件列表,见下图,以上就是 zip 压缩工具的用法。