Linux中压缩和解压缩指令

 

在Linux中常用的压缩和解压缩指令分别有zip,unzip,gzip,gunzip,bzip2,bunzip2

     压缩指令            解压缩指令            生成的压缩文件后缀
         zip         unzip                      .zip
        gzip        gunzip                      .gz
       bzip2        bunzip2                      .bz2

 

下面我们来分别介绍一下

zip和unzip

".zip"格式文件的压缩命令就是 zip,其基本信息如下。

  • 命令名称:zip。
  • 英文原意:package and compress(archive)files。
  • 所在路径:/usr/bin/zip。
  • 执行权限:所有用户。
  • 功能描述:压缩文件或目录。
[root@localhost ~]#zip [选项] 压缩包名 源文件或源目录
#其中选项最常见的就是
-r:压缩目录
#用来压缩目录

所有的压缩命令都可以同时压缩多个文件,例如:

[root@localhost ~]# zip test.zip install.log install.log.syslog
adding: install.log (deflated 72%)
adding: install.log.syslog (deflated 85%)
#同时压缩多个文件到test.zip压缩包中
[root@localhost ~]#ll test.zip
-rw-r--r-- 1 root root 8368 6月 1716:03 test.zip
#压缩文件生成


如果想要压缩目录,则需要使用"-r"选项,例如:

[root@localhost ~]# mkdir dir1
#建立测试目录
[root@localhost ~]# zip -r dir1.zip dir1
adding: dir1/(stored 0%)
#压缩目录
[root@localhost ~]# ls -dl dir1.zip
-rw-r--r-- 1 root root 160 6月 1716:22 dir1.zip
#压缩文件生成

".zip"格式的解压缩命令是 unzip,其基本信息如下:

  • 命令名称:unzip。
  • 英文原意:list, test and extract compressed files in a ZIP archive。
  • 所在路径:/usr/bin/unzip.
  • 执行权限:所有用户。
  • 功能描述:列表、测试和提取压缩文件中的文件。
[root@localhost ~]# unzip [选项] 压缩包名

选项:
-d: 指定解压缩位置

不论是文件压缩包,还是目录压缩包,都可以直接解压缩,例如:

[root@localhost ~]# unzip dir1.zip
Archive: dir1.zip
creating: dirl/
#解压缩


也可以手工指定解压缩位置,例如:

[root@localhost ~]# unzip -d /tmp/ ana.zip
Archive: ana.zip
inflating: /tmp/anaconda-ks.cfg
#把压缩包解压到指定位置

gzip和gunzip

".gz"格式是 Linux 中最常用的压缩格式,使用 gzip 命令进行压缩,其基本信息如下:

  • 命令名称:gzip。
  • 英文原意:compress or expand files。
  • 所在路径:/bin/gzip。
  • 执行权限:所有用户。
  • 功能描述:压缩文件或目录。
[root@localhost ~]# gzip [选项] 源文件

选项:
-c:将压缩数据输出到标准输出中,可以用于保留源文件;
-d:解压缩;
-r:压缩目录;
-v:显示压缩文件的信息;
-数字:用于指定压缩等级,-1 压缩等级最低,压缩比最差;-9 压缩比最高。默认压缩比是 -6;

保留源文件压缩。
在使用 gzip 命令压缩文件时,源文件会消失,从而生成压缩文件。如果在压缩文件的时候,不让源文件消失,那么可以利用重定向。

[root@localhost ~]# gzip -c anaconda-ks.cfg >anaconda-ks.cfg.gz
#使用-c选项,但是不让压缩数据输出到屏幕上,而是重定向到压缩文件中,#这样可以缩文件的同时不删除源文件
[root@localhost ~]# ls
anaconda-ks.cfg anaconda-ks.cfg.gz install.log.gz install.log.syslog
#可以看到压缩文件和源文件都存在

 压缩目录。
我们可能会想当然地认为 gzip 命令可以压缩目录。 我们来试试:

[root@localhost ~]# mkdir test
[root@localhost ~]# touch test/test1
[root@localhost ~]# touch test/test2
[root@localhost ~]# touch test/test3 #建立测试目录,并在里面建立几个测试文件
[root@localhost ~]# gzip -r test/
#压缩目录,并没有报错
[root@localhost ~]# ls
anaconda-ks.cfg anaconda-ks.cfg.gz install.log.gz install.log.syslog test
#但是査看发现test目录依然存在,并没有变为压缩文件
[root@localhost ~]# ls test/
testl .gz test2.gz test3.gz
#原来gzip命令不会打包目录,而是把目录下所有的子文件分别压缩

在 Linux 中,打包和压缩是分开处理的。而 gzip 命令只会压缩,不能打包,所以才会出现没有打包目录,而只把目录下的文件进行压缩的情况。

".gz"格式是 Linux 中最常用的压缩格式,如果要解压缩".gz"格式,那么使用"gzip-d压缩包"和"gunzip 压缩包"命令都可以。

我们先看看 gunzip 命令的基本信息。

  • 命令名称:gunzip。
  • 英文原意:compress or expand files。
  • 所在路径:/bin/gunzip。
  • 执行权限:所有用户。
  • 功能描述:解压缩文件或目录。

常规用法就是直接解压缩文件,例如:

[root@localhost ~]# gunzip install.log.gz

如果要解压缩目录下的内容,则依然使用"-r"选项,例如:

[root@localhost ~]# gunzip -r test/

当然,"gunzip -r"依然只会解压缩目录下的文件,而不会解打包。要想解压缩".gz"格式,还可以使用 "gzip -d"命令,例如:

[root@localhost ~]# gzip -d anaconda-ks.cfg.gz

查看".gz"格式压缩的文本文件内容

如果我们压缩的是一个纯文本文件,则可以直接使用 zcat 命令在不解压缩的情况下査看这个文本文件中的内容。例如:

 [root@localhost ~]# zcat anaconda-ks.cfg.gz

bzip2和bunzip2

".bz2"格式是 Linux 的另一种压缩格式,从理论上来讲,".bz2"格式的算法更先进、压缩比更好;而 ".gz"格式相对来讲的时间更快。
".bz2"格式的压缩命令是 bzip2,我们来看看这个命令的基本信息。

  • 命令名称:bzip2。
  • 英文原意:a block-sorting file compressor。
  • 所在路径:/usr/bin/bzip2。
  • 执行权限:所有用户。
  • 功能描述:.bz格式的压缩命令。
[root@localhost ~]# bzip2 [选项] 源文件

选项:
-d:解压缩。
-k:压缩时,保留源文件。
-v:显示压缩的详细信息。
-数字:这个参数和 gzip 命令的作用一样,用于指定压缩等级,-1 压缩等级最低,压缩比最差;-9 压缩比最高。

".bz2"格式可以使用"bzip2 -d 压缩包"命令来进行解压缩,也可以使用"bunzip2 压缩包"命令来进行解压缩。

先看看 bunzip2 命令的基本信息。

  • 命令名称:bunzip2。
  • 英文原意:a block-sorting file compressor。
  • 所在路径:/usr/bin/bunzip2。
  • 执行权限:所有用户。
  • 功能描述:.bz2格式的解压缩命令。
[root@localhost ~]# bunzip2 [选项] 源文件

选项:

-k:解压缩时,保留源文件


先试试使用 gunzip2 命令来进行解压缩,例如:

[root@localhost ~]# bunzip2 anaconda-ks.cfg.bz2

".bz2"格式也可以使用"bzip2 -d 压缩包"命令来进行解压缩,例如:

[root@localhost ~]# bzip2 -d install.log.syslog.bz2

査看".bz2"格式压缩的文本文件内容

和".gz"格式一样,".bz2"格式压缩的纯文本文件也可以不解压缩直接査看,使用的命令是 bzcat。例如:

[root@localhost ~]# bzcat install.log.syslog.bz2

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值