【26期】Linux第五周学习小总结

    第五周的学习内容很丰富, 从查找到压缩打包,到软件包的管理,其中尤其是以压缩的内容最为丰富,而且庞大的选项让人绝望,那我今天就总结了一下压缩的一些东西,和大家一起分享。

    为什么会产生压缩工具呢?因为我们的现在的很多文件会利用到的东西很多,电脑的读存速度也越来越快,一些大的文件在传输和使用上就会很麻烦,虽然运算速度很快但是会大量占用我们的系统资源和硬盘的空间,缩小了我们的可使用空间,而压缩工具就是尽可能在不破坏原文件的情况下,通过一些算法,压缩我们的文件,提升我们的运算和传输速度。

    首先对于我们的第一个认识的压缩工具就是 compress 这个工具,英文的翻译就是压缩的意思,既然是压缩工具就能够压缩文件,使用方法如下:

    compress [ -f ] [ -v ] [ -c ] [ -V ] [ -r ] [ name …  ]

        -f 对硬连接的文件进行强制压缩,其他同inode的文件硬连接数减一

    【26期】Linux第五周学习小总结

    图里我们可以看出来我们新建的硬连接文件用普通的压缩根本就不能压缩,加了-f之后就完成了压缩,compress 压缩出来的文件以.Z结尾

        -v 显示详细过程

    【26期】Linux第五周学习小总结

    我们震惊的发现我们压缩比无比惊人,从50M压缩到16k,其实不然,我们的这个test2文件,是利用dd if of 填充完成的,其实其中的东西并不多,都是一些重复的空行之类的,所以压缩比才会如此惊人!

        -c 将结果打印在我们的屏幕上,由于是二进制文件我们看不懂,可以利用我们的重定向来输出出来,但是相当于新建了一个文件,权限会发生变化

        -V 显示指令版本及程序预设值

    【26期】Linux第五周学习小总结

        -r 递归

    【26期】Linux第五周学习小总结

    我们压缩tmp文件夹,自动递归的去压缩我们的文件夹下的文件。

    那有压缩就一定有解压缩要不然怎么打开呢。。。下面是我们的三种解压缩

    uncompress

    【26期】Linux第五周学习小总结

    ②compress -d 文件名

    【26期】Linux第五周学习小总结

    ③zcat 文件名 > 文件名

    【26期】Linux第五周学习小总结

    上述了那么多的选项,其实compress已经算是退出了历史舞台,取代它的有好几种压缩工具,接下来我们就看一下”zip”小家族

    gzip 

    gzip [OPTION]… FILE …

    【26期】Linux第五周学习小总结

    直接后面跟文件名,直接压缩,不保留原文件,自带后缀

        -c 可以指定将压缩或解压缩的结果输出至标准输出,也就是可以用重定向输出文件不过不要忘了后缀名

    【26期】Linux第五周学习小总结
        -d 也和上面的用处相差不大,也都是解压

        -# 1-9 :可以指定压缩比,9为最大,越大压缩比越大,默认为6

    【26期】Linux第五周学习小总结

    我们可以看到我们的压缩问及一级级的往下排,但是我们也看到一些8级的比9级的还要小,这是因为到了后面的压缩的就会有写误差,所以会造成这种现象。

    bzip2

    bzip2 [OPTION]… FILE …

        -k 保留原文件(默认不保存)

    【26期】Linux第五周学习小总结
        -c 将结果打印到屏幕上,配合重定向,不会覆盖原文件,但权限会变。 bzip2 -c 文件名 > 
        -f 默认不对硬链接数为2及以上的文件压缩,加上f,强制压缩指定文件,而其他同inode的文件硬链接数减1.
        -v 显示详细过程。
        -# 数字越大,压缩比越高,速度越慢,文件越小。
        -1 等于 –fast
        -2,3,4,5,6,7,8
        -9 等于 –best (default)

    很惊人的压缩比,bzip2的压缩比很可怕,就是zip的9都低,所以占用的资源也很多,所以压缩时很慢!

    【26期】Linux第五周学习小总结

    这些上面的选项我在上面都一一试过了,用户都差不多,就不在一一的列举了。

    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

(0)
努力!奋斗!努力!奋斗!
上一篇 2017-08-12
下一篇 2017-08-12

相关推荐

  • sed命令应用详解

    sed应用详解 sed是文本处理处理工具“三大剑客”之一,它 是一种流编辑器,sed一次只处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。sed不会修改原文件内容,除非你使用重定向存储输出。…

    Linux干货 2016-08-11
  • 第一天,学习

    好好学习,天天向上

    Linux干货 2016-08-08
  • 开始学习总结的一些基本知识点

       第一VNC软件(面授班课堂用的),这款软件采用C/S架构(client/sever客户端和服务器端)还有VNC协议(virtual Network computing虚拟网络计算)协议。虽说这款软件对网络班没有实际用途,但自己了解下这款软件的构成也是不错的。    第二开始学习需要的虚拟机软件其中包括VMWARE…

    Linux干货 2016-10-29
  • 关于until循环在shell脚本中的实际应用

    Until循环在shell脚本中的实际应用 1、每隔3秒钟到系统上获取已经登录的用户的信息;如果发现用户hacker登录,则将登录时间和主机记录于日志/var/log/login.log中,并提示该用户退出系统 2、随机生成10以内的数字,实现猜字游戏,提示比较大或小,相等则退出 3、编写脚本,求100以内所有正整数之和 4、编写脚本,通过ping命令探测1…

    Linux干货 2016-08-18
  • 设计模式 ( 十八 ) 策略模式Strategy(对象行为型)

    设计模式 ( 十八 ) 策略模式Strategy(对象行为型) 1.概述         在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如查找、排序等,一种常用的方法是硬编码(Hard Coding)在一个类中,如需要提供多种查找算…

    Linux干货 2015-07-28
  • 博客作业-N22第二周

    1、linux上的文件管理类命令都有那些,其常用的使用方法及其相关示例演示。 答: cp 复制文件 [root@localhost network-scripts]# cp ifcfg-eno16777736 ifcfg-eno.bak [root@localhost network-scripts]# ls ifcfg-eno16777736  …

    Linux干货 2016-08-22