《Linux系统》之"皮毛系列"(九)文件的解压缩与打包

本文详细介绍了Linux系统中的文件压缩技术,包括gzip、bzip2和xz指令的使用,以及打包指令tar的功能和语法。通过案例演示了各种压缩指令的参数和操作,帮助读者理解和掌握Linux文件的压缩与打包技巧。
摘要由CSDN通过智能技术生成

一、压缩的意义

在备份文件资料时,你是否有过因文件太大,发现你的硬盘空间快不够用了呢?在写邮件时,你是否也有过因文件太大而发现不能上传到附件里呢?在下载资料时,你是否因文件太大而抱怨呢?我想,应该都有过。

这个时候,压缩技术就派上用场了。因为压缩技术可以使文件所占磁盘空间更小,换句话说,就是以某种合理的逻辑算法将文件的字节数量变的更少。

 有人就想了,磁盘最小的存储单位的就是byte,怎么可能减少?别忘了,字节也是由8位二进制构成的,即1byte=8bit。从这一点来讲,实际上磁盘中的最小计量单位应该是bit。

为什么能压缩呢?我来举个例子说明:我们在硬盘上存储数字1的时候,存储空间最小也应该占有8个位置,我们将位置换成8个方块来表示,如下:

               

存储数字1的时候,1应该存储在最右边的方块里,而左边7个方块里将自动存储7个0。其实,我们知道,左边这7个方块里应该是空的才对,只不过为了满足计算机的需求,我们才以8bit的字节形式存储数据。但是,世界上不乏聪明绝顶的人,他们通过算法将“空的方块”截取下来“扔掉”,以让文件占据的空间更小,这就是压缩

刚才的例子是一种压缩技术,再比如,还有这样一种算法,比如你文件里的某一行数据中,是这样存储的二进制:1010101011111.......,里面共有100个1,那么压缩算法就只记录“100个1”,而不是使用100个bit来存储1,这样做,也大大减少了文件的磁盘占用空间。

简单来说,就是通过一些复杂的算法,将文档里没有充分利用的那么“空位置”利用上,来做到使文件对磁盘的占用空间降低。 不过,压缩后的文件并不能直接被我们当成普通文件来进行"作业"。想要正常作业,必须将它还原会原来的样子,即解压缩技术。压缩后与压缩前所占的空间大小比较,我们称之为压缩比

二、Linux的常用压缩指令。

每一种压缩技术都对应一种指令,Linux系统上常用的压缩指令有gzip、bzip2及新兴的xz,为了支持windows下的zip压缩技术,Linux也有zip压缩技术。

1、gzip压缩指令  ---->gunzip解压缩指令

命令原意:gnu zip                                  命令路径:/bin/gzip
执行权限:所有用户                               压缩后文件格式:.gz
语法:gzip   【选项】 【[文件】 

常用选项:
-v  :可以显示压缩比,文件名等信息
-#  :#为数字,代表压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6
-d  :解压缩参数
-c  :将压缩的过程产生的数据显示出来

注意事项:
1、gzip命令只能压缩文件,不能压缩目录
2、gzip对文件压缩后,产生一个.gz的压缩文件,不保留原文件
3、可以使用gzip -d  代替 gunzip  进行解压缩

首先,我们将/etc/services文件copy到/home/michael/test下,查看此文件属性,文件大小为641020

-rw-r--r--. 1 michael michael 641020 12月 21 20:59 services

应用案例1:不带参数进行压缩services

[michael@admin test]$ gzip services 
[michael@admin test]$ ll
-rw-r--r--. 1 michael michael 127223 12月 21 20:59 services.gz
// 默认压缩等级为-6,压缩比例 (641020-127223)/641020 = 80.2%

应用案例2:带参数【-v】进行压缩services

[michael@admin test]$ gzip -d services.gz        # 使用gzip -d 替代gunzip 进行解压缩
[michael@admin test]$ gzip -v services         
services:     80.2% -- replaced with services.gz          #压缩比与案例1计算的结果是一样的

应用案例3:指定压缩等级进行压缩services

[michael@admin test]$ gunzip services.gz        #使用gunzip指令解压缩
[michael@admin test]$ gzip -v -9 services 
services:     80.3% -- replaced with services.gz     

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值