【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中创建虚拟网卡(网卡别名)的方法

    由于业务需要,要在单个物理网卡上建立多个虚拟网卡,操作如下:cd /etc/sysconfig/network-scripts/   #进入网卡目录cp ifcfg-eth0 ifcfg-eth0:1   # 复制出ifcfg-eth0:1虚拟网卡vim ifcfg-eth0:1    #配置ifcfg-eth0:1虚…

    Linux干货 2016-09-06
  • Linux的学习之路-第一周

    >N21-Keen-第一周作业 ### 1. 计算机的组成及其原理     >计算机的组成是根据冯诺依曼体系设计的,主要分为五大部分:控制器、运算器、存储器、输入设备和输出设备。          >其中控制器和运算器分布在CPU上,主要用来做控制和运算作用。存储器也就是…

    Linux干货 2016-07-16
  • bash特性及bash脚本编程初步

    bash特性之命令hash 之前我们讲过用户在执行一个命令的时候bash会遍历环境变量$PATH中所有路径来查找执行文件。而命令hash是用来缓存之前用户使用过的命令下次执行的时候直接搜索hash缓存来减少对$PATH变量中路径的遍历次数,从而提高系统运行效率 hash:hash命令     hash:列出 &nbsp…

    Linux干货 2016-12-20
  • 8.8作业

    4、如何设置tab缩进为4个字符?    set tabstop=4     5、复制/etc/rc.d/init.d/functions文件至/tmp目录;替换/tmp/functions文件中的/etc/sysconfig/init为/var/log; cp /etc/rc.d/init.d/functi…

    Linux干货 2016-08-11
  • bash变量类型及区别之浅谈

    变量类型,区别 位置变量$0 $1,$2,$# $@ $* 变量的类型:本地变量、环境变量、位置变量 本地变量:生效范围为当前shell进程,对当前shell之外的其他shell进程包括当前shell的子进程均无效 环境变量:生效范围为当前shell进程及子进程 位置变量:$1,…..$n,${10}来表示,用于放脚本在脚本代码中调用通过命令行传…

    Linux干货 2016-08-12
  • 磁盘及文件系统管理

    Linux磁盘及文件系统: 磁盘:用于持久存放数据 常见的磁盘有:机械硬盘、固态硬盘 I/O Ports: I/O设备地址 常见的硬盘接口类型:      IDE(ata):并口,133MB/s     SCSI:并口,UltraSCSI320,320MB/s,UltraSCSI…

    Linux干货 2016-08-26