Linux中常见的压缩与解压

一、压缩的原理是什么呢?

    目前我们使用的计算机系统是使用bytes单位计量的,但实际上,计算机中最小的计量单位是bits,我们知道1byte=8bits,那么我们记录数字1的时候是如何记录的?
在这里插入图片描述

    我们可以这样理解,一个空格代表一个bit,1byte就是8个空格,当我们在存放数字1的时候,根据二进制计数,在这里存放的是00000001。这里有7个0,实际上前面的7个0都是空的,但是由于要满足我们操作系统的存储方式,必须以8位为单位存储,所以会造成一些空间没有填满。压缩就是将这些没有用的空间减掉,让文件的占用空间变小,这就是压缩技术。

二、常见的压缩命令

   1、zip命令

  (1)、zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有" . zip "扩展名的压缩文件。

  (2)、语法

SYNOPSIS
       zip  [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$] [--longoption ...]  [-b
       path] [-n suffixes] [-t date] [-tt  date]  [zipfile  [file  ...]]
       [-xi list]

  (3)、选项

-A调整可执行的自动解压文件
-b<工作目录>指定暂时存放文件的目录
-c替每个被压缩的文件加上注释
-d从压缩文件内删除指定的文件
-D压缩文件内不建立目录名称
-f此参数的效果和指定"-u"参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中
-F尝试修复已损坏的压缩文件
-g将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件
-h在线帮助
-L显示版本信息
-r递归处理,将指定目录下的所有文件和子目录一并处理

     … …

   选项太多 ,常用的就这些,剩下的大家可以自行了解

  给大家举个例子加深印象

   1、压缩 file3 文件
在这里插入图片描述
   2、将当前目录下的所有文件和文件夹压缩成 test.zip 文件

# zip -r test.zip ./*

   3、将 test1 下的所有文件压缩成 test1.zip
在这里插入图片描述

   2、gzip命令

  (1)、gzip是在Linux系统中经常使用的一个对文件进行压缩的命令,文件经它压缩过后,其名称会多出" . gz "扩展名。gzip不仅可以用来压缩大的,较少使用的文件以节省磁盘空间,还可以与 tar 命令一起构成Linux操作系统中比较流行的压缩文件格式。使用它既方便又好用。

  (2)、语法

SYNOPSIS
       gzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ...  ]

  (3)、选项

- a使用ASCII文字模式
- f强制压缩文件。不理会文件名称或硬链接是否存在以及该文件是否为符号链接
- h在线帮助
- l列出压缩文件的相关信息
- L显示版本与版权信息
- n压缩文件时,不保存原来的文件名称及时间戳
- N压缩文件时,保存原来文件的名称及时间戳
- q不显示警告信息
- r递归处理
-v显示执行过程

  实例

   将 /tmp/test2/ 的所有文件压缩

# gzip /tmp/test2/*
   3、bzip2命令

  (1)、bzip2命令用于创建和管理(包括解压)" .bz2 "格式的压缩包

  (2)、语法

SYNOPSIS
       bzip2 [ -cdfkqstvzVL123456789 ] [ filenames ...  ]

  (3)、选项

- c将压缩的结果送到标准输出
- f 或 - forcebzip2在压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖,使用此参数
- h在线帮助
-kbzip2在压缩后,会删除原文件。若要保留,使用此参数
- s降低程序执行时内存的使用量
- v显示详细信息
- t测试 .bz2压缩文件的完整性
- z强制执行

     … …

  举例

   压缩 file4 文件,并保留原文件

# bzip2 -vk file4

三、常见的解压命令

   1、unzip命令

  (1)、unzip为 .zip 压缩文件的解压程序

  (2)、语法

SYNOPSIS
       unzip    [-Z]    [-cflptTuvz[abjnoqsCDKLMUVWX$/:^]]    file[.zip]
       [file(s) ...]  [-x xfile(s) ...] [-d exdir]

  (3)、选项

- c将解压的结果显示在屏幕上,并对字符作适当的转换
- f更新现有的文件
- l显示压缩文件内所包含的文件
- t检查压缩文件是否正确,但不解压
- v执行时显示详细信息,或查看压缩文件目录。但不解压
- z仅显示压缩文件的备注文字

     … …

   常用的就这些,其余的大家可自行了解

  实例

   将 file4.zip 解压至当前目录
在这里插入图片描述

   2、gunzip命令

  (1)、gunzip就是与gzip是成对出现的,其作用与gzip相反。

  (2)、语法

SYNOPSIS
       gunzip [ -acfhlLnNrtvV ] [-S suffix] [ name ...  ]

  (3)选项

- a使用ASCII文字模式
- d执行解压缩
- f强制解压文件。不理会文件名称或硬链接是否存在以及该文件是否为符号链接
- h在线帮助
- l列出解压文件的相关信息
- L显示版本与版权信息
- n解压文件时,不保存原来的文件名称及时间戳
- N解压文件时,保存原来文件的名称及时间戳
- q不显示警告信息
- r递归处理
-v显示执行过程

  举例
   将 test2.gz 解压

# gunzip test2.gz
   3、bunzip2命令

  (1)、bunzip2与bzip2是成对出现的,作用结果与bzip2相反。

  (2)、语法

 bunzip2 [ -fkvsVL ] [ filenames ...  ]

  (3)、选项

- v显示详细信息
- f 或 - forcebzip2在压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖,使用此参数
-kbunzip2在解压后,会删除原压缩文件。
- s 或 - -small降低程序执行时内存的使用量

     … …

  实例
   解压 file4 文件,并删除原压缩文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值