Linux之文件压缩的简单介绍gzip,bzip2,xz
发布时间:2022-09-23 16:05:51 所属栏目:Linux 来源:
导读: 文件压缩的重要性不言而喻,尤其是网站下载文件的时候,好的压缩技术不仅可以节省存储空间,还可以大大降低网络负荷,毕竟任何网站维护者都不想自己的网站一直满负载吧,从事IT工作的日常生活中文件压缩也无处不
|
文件压缩的重要性不言而喻,尤其是网站下载文件的时候,好的压缩技术不仅可以节省存储空间,还可以大大降低网络负荷,毕竟任何网站维护者都不想自己的网站一直满负载吧,从事IT工作的日常生活中文件压缩也无处不在,节省空间、速度、时间。好了,不絮叨了,总之文件压缩意义非常,下面介绍两种主要的文件压缩技术: 计算机存储说到底是利用二进制存储0或1,计算机最小的存储单位是“位”也就是bits,每个字节(Byte)有8bits,而我们计算机存取机制是以块为单位的,举个简单的例子,假设计算机以1Byte为单位存取,而文件只使用了次块的1个bit,其他7个bits就浪费了,而我们一般的文件占据存储空间的时候,有很多这样的事件发生,也就是说一个文件的大小可能并没有你表面看到的那么大,一些聪明的计算机工程师使用复杂的计算公式,那没有用到的空间”释放出来“,这就是文件压缩的技术了 另一种压缩技术也很有趣,举个例子说一下吧,假设你的文件有20个二进制1要存储,那么压缩技术就会存储“20个1”,而不是真的有20个1的位存在,这种技术也可以很好的精简文件 常见压缩指令的使用与对比 这一节主要介绍三种类型的压缩文件 *.gz gzip 程序压缩的文件; *.bz2 bzip2 程序压缩的文件; *.xz xz 程序压缩的文件; 在linux中文件的扩展名与文件没有什么关系,在这里只是为了区分压缩指令对应的压缩文件。毕竟不同的压缩指令彼此之间无法互通压缩解压文件。 gzip, zcat/zmore/zless/zgrep gzip是应用度最广的压缩指令,目前gzip可以解开compress,zip与gzip等软件所压缩的文件,gzip创建的压缩文件是*.gz的文件名,看一下语法: root@ubuntu:~# gzip [-cdtv#] filename 选项与参数: -c :将压缩的数据输出到屏幕上,可通过数据流重导向来处理; -d :解压缩的参数; -t :可以用来检验一个压缩文件的一致性~看看文件有无错误; -v :可以显示出原文件/压缩文件的压缩比等信息; -# :# 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6 示例一:使用gzip压缩解压缩 gzip 由图可以看出,gzip直接压缩文件是不保留原文件的,如果要保留原文件的话需要加上-c参数,并且使用数据流重导向到新的文件,61.6%是压缩比例linux压缩,即压缩后的文件是原文件的(1-61.6%),-d参数是对文件解压缩。 cat/more/less 可以使用不同的方式来读取纯文本文件,那个 zcat/zmore/zless 则可以对应于 cat/more/less 的方式来读取纯文本文件被压缩后的压缩文件! bzip2, bzcat/bzmore/bzless/bzgrep bzip2是比gzip提供更好的压缩比,bzip2压缩用法与gzip几乎相同 root@ubuntu:/tmp# bzip2 [-cdkzv#] filename 选项与参数: -c :将压缩的过程产生的数据输出到屏幕上! -d :解压缩的参数 -k :保留原始文件,而不会删除原始的文件喔! -z :压缩的参数 (默认值,可以不加) -v :可以显示出原文件/压缩文件的压缩比等信息; -# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快! xz, xzcat/xzmore/xzless/xzgrep 虽然 bzip2 已经具有很棒的压缩比,不过显然某些自由软件开发者还不满足,因此后来还推出了 xz 这个压缩比更高的软件! root@ubuntu:/tmp# xz [-dtlkc#] filename 选项与参数: -d :就是解压缩啊! -t :测试压缩文件的完整性,看有没有错误 -l :列出压缩文件的相关信息 -k :保留原本的文件不删除~ -c :将数据由屏幕上输出! -v :可以显示出原文件/压缩文件的压缩比等信息; -# :压缩比! 由于bzip2与xz压缩软件的用发与gzip几乎相同,就不再另行举例子,有兴趣的朋友们可以自己玩一下,下面来对比一下三种压缩指令的压缩比,看图 gzip、bzip2、xz压缩比 怎么样是不是压缩比xz>bzip2>gzip啊,可是虽然xz压缩比好很多,但是压缩时间却是xz>bzip2>gzip,gzip时间上是最优的,大家可以根据自己情况选择不同的压缩方式哦! 下一节会接着此节内容介绍Linux的打包指令tar,感兴趣的朋友可以关注一下,谢谢!!! (编辑:云计算网_汕头站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐


浙公网安备 33038102330478号