第五周的学习内容很丰富, 从查找到压缩打包,到软件包的管理,其中尤其是以压缩的内容最为丰富,而且庞大的选项让人绝望,那我今天就总结了一下压缩的一些东西,和大家一起分享。
为什么会产生压缩工具呢?因为我们的现在的很多文件会利用到的东西很多,电脑的读存速度也越来越快,一些大的文件在传输和使用上就会很麻烦,虽然运算速度很快但是会大量占用我们的系统资源和硬盘的空间,缩小了我们的可使用空间,而压缩工具就是尽可能在不破坏原文件的情况下,通过一些算法,压缩我们的文件,提升我们的运算和传输速度。
首先对于我们的第一个认识的压缩工具就是 compress 这个工具,英文的翻译就是压缩的意思,既然是压缩工具就能够压缩文件,使用方法如下:
compress [ -f ] [ -v ] [ -c ] [ -V ] [ -r ] [ name … ]
-f 对硬连接的文件进行强制压缩,其他同inode的文件硬连接数减一
图里我们可以看出来我们新建的硬连接文件用普通的压缩根本就不能压缩,加了-f之后就完成了压缩,compress 压缩出来的文件以.Z结尾
-v 显示详细过程
我们震惊的发现我们压缩比无比惊人,从50M压缩到16k,其实不然,我们的这个test2文件,是利用dd if of 填充完成的,其实其中的东西并不多,都是一些重复的空行之类的,所以压缩比才会如此惊人!
-c 将结果打印在我们的屏幕上,由于是二进制文件我们看不懂,可以利用我们的重定向来输出出来,但是相当于新建了一个文件,权限会发生变化
-V 显示指令版本及程序预设值
-r 递归
我们压缩tmp文件夹,自动递归的去压缩我们的文件夹下的文件。
那有压缩就一定有解压缩要不然怎么打开呢。。。下面是我们的三种解压缩
①uncompress
②compress -d 文件名
③zcat 文件名 > 文件名
上述了那么多的选项,其实compress已经算是退出了历史舞台,取代它的有好几种压缩工具,接下来我们就看一下”zip”小家族
gzip
gzip [OPTION]… FILE …
直接后面跟文件名,直接压缩,不保留原文件,自带后缀
-c 可以指定将压缩或解压缩的结果输出至标准输出,也就是可以用重定向输出文件不过不要忘了后缀名
-d 也和上面的用处相差不大,也都是解压
-# 1-9 :可以指定压缩比,9为最大,越大压缩比越大,默认为6
我们可以看到我们的压缩问及一级级的往下排,但是我们也看到一些8级的比9级的还要小,这是因为到了后面的压缩的就会有写误差,所以会造成这种现象。
bzip2
bzip2 [OPTION]… FILE …
-k 保留原文件(默认不保存)
-c 将结果打印到屏幕上,配合重定向,不会覆盖原文件,但权限会变。 bzip2 -c 文件名 >
-f 默认不对硬链接数为2及以上的文件压缩,加上f,强制压缩指定文件,而其他同inode的文件硬链接数减1.
-v 显示详细过程。
-# 数字越大,压缩比越高,速度越慢,文件越小。
-1 等于 –fast
-2,3,4,5,6,7,8
-9 等于 –best (default)
很惊人的压缩比,bzip2的压缩比很可怕,就是zip的9都低,所以占用的资源也很多,所以压缩时很慢!
这些上面的选项我在上面都一一试过了,用户都差不多,就不在一一的列举了。
xz
xz [OPTION]… FILE …
-d 解压缩
xzcat
-k 保留原文件
-f 默认不对硬链接数为2及以上的文件压缩,加上f,强制压缩指定文件,而其他同inode的文件硬链接数减1.
-v 显示详细过程。
-# 数字越大,压缩比越高,速度越慢,文件越小。
-0 等于 –fast
-1 -2,3,4,5,6(default),7,8
-9 等于 –best
zip
.zip (后缀名)
unzip 解压缩
|zip 将生成的文件名 –
可以将管道前的输出结果转为文件并压缩。通过此方式压缩的文件只能使用“unzip -p 压缩包 > 新文件 ”来解压缩
unzip -p 预览解压缩后的内容到屏幕,可以配置重定向将结果保存到指定文件,权限会发生变化。
好了,上述就是一些关于压缩的小知识,看着那么多的压缩工具,其实很简单的我们记住基本的几个-d解压缩,-c重定向输出,-k保留原文件,-#压缩几级,-f压缩硬连接,然后其他的边角就什么时候用什么时候man吧。
原创文章,作者:努力!奋斗!,如若转载,请注明出处:http://www.178linux.com/84444