【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 14:21
下一篇 2017-08-12 15:30

相关推荐

  • Linux命令帮助的获取

    帮助命令 1. 使用帮助命令和帮助选项来获取帮助 2. 使用man来查看命令使用手册(manual) 3. 使用info来查看命令的信息页 4. 程序自身的帮助文档(README/INSTALL/ChangeLog) 5. 程序官方文档(官方站点:Documentation) 6. 发行版的官方文档…

    Linux干货 2016-06-01
  • 今天把/boot/目录下的文件删除了只好重新安装一下内核和grub

    一前言         今天手贱把/boot/目录下的文件删了  系统重启之后无法登陆系统 无奈只好重装一下内核和grub 二准备工作           Centos7 系统光盘一张 当然我这是虚拟…

    2017-03-06
  • sed和awk的用例及pam安全措施-第十五周

    总结sed和awk的详细用法; sed用法 sed(Stream EDitor)是一款流编辑器,用来对文本进行过滤与替换操作。其原理是:通过文件或管道读取文件内容,但是sed默认并不直接修改源文件,而是一次仅读取文件的一行至模式空间(pattern space)根据sed指令进行编辑并输出结果后清除模式空间,即所有的操作都是在模式空间中进行的。 语法格式 s…

    2017-06-05
  • 初学Linux练习题

    1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中 tr ‘a-z’ ‘A-Z’ < /etc/issue  > /tmp/issue.out 2、将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文件中 3、一个linux用户给root发邮件…

    2017-11-19
  • 通过虚拟机制作RAID5

    制作RAID5的过程,包括制作RAID5的制作,增加和删除RAID

    2017-12-10
  • SHELL脚本基础速览

    变量的赋值: Shell变量赋值从右到左进进行赋值 格式:NAME=value 变量的声明: export 变量名  export NAME=value declare –x 变量名 declare –x NAME=value   readonly 变量名  特定情况下需要使用到只读变量 readonly NAME=v…

    2017-04-15