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。
- 执行权限:所有用户。
- 功能描述:压缩文件或目录。
[[email protected] ~]#zip [选项] 压缩包名 源文件或源目录
#其中选项最常见的就是
-r:压缩目录
#用来压缩目录
所有的压缩命令都可以同时压缩多个文件,例如:
[[email protected] ~]# zip test.zip install.log install.log.syslog
adding: install.log (deflated 72%)
adding: install.log.syslog (deflated 85%)
#同时压缩多个文件到test.zip压缩包中
[[email protected] ~]#ll test.zip
-rw-r--r-- 1 root root 8368 6月 1716:03 test.zip
#压缩文件生成
如果想要压缩目录,则需要使用"-r"选项,例如:
[[email protected] ~]# mkdir dir1
#建立测试目录
[[email protected] ~]# zip -r dir1.zip dir1
adding: dir1/(stored 0%)
#压缩目录
[[email protected] ~]# 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.
- 执行权限:所有用户。
- 功能描述:列表、测试和提取压缩文件中的文件。
[[email protected] ~]# unzip [选项] 压缩包名
选项:
-d: 指定解压缩位置
不论是文件压缩包,还是目录压缩包,都可以直接解压缩,例如:
[[email protected] ~]# unzip dir1.zip
Archive: dir1.zip
creating: dirl/
#解压缩
也可以手工指定解压缩位置,例如:
[[email protected] ~]# 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。
- 执行权限:所有用户。
- 功能描述:压缩文件或目录。
[[email protected] ~]# gzip [选项] 源文件
选项:
-c:将压缩数据输出到标准输出中,可以用于保留源文件;
-d:解压缩;
-r:压缩目录;
-v:显示压缩文件的信息;
-数字:用于指定压缩等级,-1 压缩等级最低,压缩比最差;-9 压缩比最高。默认压缩比是 -6;
保留源文件压缩。
在使用 gzip 命令压缩文件时,源文件会消失,从而生成压缩文件。如果在压缩文件的时候,不让源文件消失,那么可以利用重定向。
[[email protected] ~]# gzip -c anaconda-ks.cfg >anaconda-ks.cfg.gz
#使用-c选项,但是不让压缩数据输出到屏幕上,而是重定向到压缩文件中,#这样可以缩文件的同时不删除源文件
[[email protected] ~]# ls
anaconda-ks.cfg anaconda-ks.cfg.gz install.log.gz install.log.syslog
#可以看到压缩文件和源文件都存在
压缩目录。
我们可能会想当然地认为 gzip 命令可以压缩目录。 我们来试试:
[[email protected] ~]# mkdir test
[[email protected] ~]# touch test/test1
[[email protected] ~]# touch test/test2
[[email protected] ~]# touch test/test3 #建立测试目录,并在里面建立几个测试文件
[[email protected] ~]# gzip -r test/
#压缩目录,并没有报错
[[email protected] ~]# ls
anaconda-ks.cfg anaconda-ks.cfg.gz install.log.gz install.log.syslog test
#但是査看发现test目录依然存在,并没有变为压缩文件
[[email protected] ~]# 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。
- 执行权限:所有用户。
- 功能描述:解压缩文件或目录。
常规用法就是直接解压缩文件,例如:
[[email protected] ~]# gunzip install.log.gz
如果要解压缩目录下的内容,则依然使用"-r"选项,例如:
[[email protected] ~]# gunzip -r test/
当然,"gunzip -r"依然只会解压缩目录下的文件,而不会解打包。要想解压缩".gz"格式,还可以使用 "gzip -d"命令,例如:
[[email protected] ~]# gzip -d anaconda-ks.cfg.gz
查看".gz"格式压缩的文本文件内容
如果我们压缩的是一个纯文本文件,则可以直接使用 zcat 命令在不解压缩的情况下査看这个文本文件中的内容。例如:
[[email protected] ~]# zcat anaconda-ks.cfg.gz
bzip2和bunzip2
".bz2"格式是 Linux 的另一种压缩格式,从理论上来讲,".bz2"格式的算法更先进、压缩比更好;而 ".gz"格式相对来讲的时间更快。
".bz2"格式的压缩命令是 bzip2,我们来看看这个命令的基本信息。
- 命令名称:bzip2。
- 英文原意:a block-sorting file compressor。
- 所在路径:/usr/bin/bzip2。
- 执行权限:所有用户。
- 功能描述:.bz格式的压缩命令。
[[email protected] ~]# bzip2 [选项] 源文件
选项:
-d:解压缩。
-k:压缩时,保留源文件。
-v:显示压缩的详细信息。
-数字:这个参数和 gzip 命令的作用一样,用于指定压缩等级,-1 压缩等级最低,压缩比最差;-9 压缩比最高。
".bz2"格式可以使用"bzip2 -d 压缩包"命令来进行解压缩,也可以使用"bunzip2 压缩包"命令来进行解压缩。
先看看 bunzip2 命令的基本信息。
- 命令名称:bunzip2。
- 英文原意:a block-sorting file compressor。
- 所在路径:/usr/bin/bunzip2。
- 执行权限:所有用户。
- 功能描述:.bz2格式的解压缩命令。
[[email protected] ~]# bunzip2 [选项] 源文件
选项:
-k:解压缩时,保留源文件
先试试使用 gunzip2 命令来进行解压缩,例如:
[[email protected] ~]# bunzip2 anaconda-ks.cfg.bz2
".bz2"格式也可以使用"bzip2 -d 压缩包"命令来进行解压缩,例如:
[[email protected] ~]# bzip2 -d install.log.syslog.bz2
査看".bz2"格式压缩的文本文件内容
和".gz"格式一样,".bz2"格式压缩的纯文本文件也可以不解压缩直接査看,使用的命令是 bzcat。例如:
[[email protected] ~]# bzcat install.log.syslog.bz2
上一篇: 2018 .5.5 T1混合图
下一篇: Java GZIP压缩的使用
推荐阅读
-
Linux中压缩和解压缩指令
-
java实现linux中gzip压缩解压缩算法:byte[]字节数组,文件,字符串,数据流的压缩解压缩
-
JAVA中的deflate压缩实现方法
-
java 压缩和解压缩Zip、Jar、Gzip文件实例代码
-
JAVA中的deflate压缩实现方法
-
java 压缩和解压缩Zip、Jar、Gzip文件实例代码
-
Linux 下zip包的压缩与解压 博客分类: Linux linuxzipunziptargz
-
linux-压缩和解压缩 博客分类: Linux linuxtar
-
tar linux 命令说明 博客分类: Linux linuxtar压缩untar解压缩
-
linux-压缩和解压缩 博客分类: Linux linuxtar