Linux学习[13]压缩指令相关:gzip&bzip2&xz& tar指令

前言:

之前一直不太懂为什么文件能够压缩,有些文件为什么压缩了也还是那么多,有些文件压缩后就非常小,后来看了书以后才大致明白点。这篇文章就写一下常见的压缩指令。


一般计算机系统都是按字节Bytes来计量,但是计算机的最小计量单位其实是比特bit,1B=8bit。
如果我存一个数1,实际上我只用到一位,其他7位并没有用到,这就造成空间的浪费。压缩的作用就在于,把那些没有用到的空间填满,让整个文件占用的容量下降。比如我一个Byte,8位我只用1位,那么我存八个这样的数据,到同一个byte里面去,空间就节省下来了。


1. 压缩文件后缀

*.Z : compress 程序压缩的文件;
*.zip : zip 程序压缩的文件;
*.gz : gzip 程序压缩的文件;
*.bz2 : bzip2 程序压缩的文件;
*.xz : xz 程序压缩的文件;
*.tar : tar 程序打包的数据,并没有压缩过;
*.tar.gz : tar 程序打包的文件,其中并且经过 gzip 的压缩
*.tar.bz2 : tar 程序打包的文件,其中并且经过 bzip2 的压缩
*.tar.xz : tar 程序打包的文件,其中并且经过 xz 的压缩

compress已经过时了,压缩效率:gzip<bzip2<xz,tar把文件打包成一个包。

2. gzip

gzip应用度最广,我们看到的很多的压缩包都是xxx.tar.gz这种。
gzip的一般用法为:gzip [-cdtv#] 文件名
选项与参数:
-c :将压缩的数据输出到屏幕上,可通过数据流重导向来处理;
-d :解压缩的参数;
-t :可以用来检验一个压缩文件的一致性,看看文件有无错误;
-v :可以显示出原文件/压缩文件的压缩比等信息;
-# :# 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6

使用gizp进行压缩的文件,在windows系统下可以通过winrar等压缩软件打开。


3. bzip2

bzip2的压缩比 比gzip更高,但速度会稍慢些。
一般用法:bzip2 [-cdkzv#] 文件名
选项与参数:
-c :将压缩的过程产生的数据输出到屏幕上!
-d :解压缩的参数
-k :保留原始文件,而不会删除原始的文件喔!
-z :压缩的参数 (默认值,可以不加)
-v :可以显示出原文件/压缩文件的压缩比等信息;
-# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快


4. xz

xz是压缩比最高的软件,用法和上面的类似。
一般用法:xz [-dtlkc#] 文件名
选项与参数:
-d :就是解压缩
-t :测试压缩文件的完整性
-l :列出压缩文件的相关信息
-k :保留原本的文件不删除
-c :将数据由屏幕上输出
-# :同样的,也有较佳的压缩比的意思


5. tar

tar指令的打包作用在针对很多个小文件进行压缩的时候有奇效。
当我们在PC端对含有一堆配置文件这种小文件进行压缩的时候,明明磁盘的读写速度很快,但是就是不能发挥出它应有的速度。就是因为文件数量太多,文件本身又不大。
这时候,用tar指令把这些文件打包成一个大包,再压缩,速度明显会快很多。
比喻一下:一堆衣服你一件一件的打包好,抽真空,放袋子里;一堆衣服放个大袋子里,一起抽真空;这两者相比,肯定后者快(不考虑美观)

tar的用法大致有三种:
打包与压缩用法:tar [-z|-j|-J] [cv] [-f 待创建的新文件名] filename
查看文件名:tar [-z|-j|-J] [tv] [-f 既有的 tar文件名]
解压缩:tar [-z|-j|-J] [xv] [-f 既有的 tar文件名] [-C 目录]

选项与参数:
-c :创建打包文件,可搭配 -v 来察看过程中被打包的文件名(filename)
-t :察看打包文件的内容含有哪些文件名,重点在察看“文件名”就是了;
-x :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
特别留意的是, -c, -t, -x 不可同时出现在一串命令行中。
-z :通过 gzip 的支持进行压缩/解压缩:此时文件名最好为 *.tar.gz
-j :通过 bzip2 的支持进行压缩/解压缩:此时文件名最好为 *.tar.bz2
-J :通过 xz 的支持进行压缩/解压缩:此时文件名最好为 *.tar.xz
特别留意, -z, -j, -J 不可以同时出现在一串命令行中
-v :在压缩/解压缩的过程中,将正在处理的文件名显示出!
-f filename:-f 后面要立刻接要被处理的文件名!建议 -f 单独写一个选项(比较不会忘记)
-C 目录 :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-p(小写) :保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件
-P(大写) :保留绝对路径,亦即允许备份数据中含有根目录存在之意;
–exclude=FILE:在压缩的过程中,不要将 FILE 打包!

万能替换公式:(j可以替换为z/J),根据后缀来。
压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
查 询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

澄澈i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值