vlambda博客
学习文章列表

Linux 系统 压缩和解压 gz 格式文件

come on 伸出中指戳戳上方关注我……


Linux 系统 压缩和解压 gz 格式文件

引言

前面我们说了在 Linux 系统上比较常用的打包压缩解压  tar   及 zip 文件 的命令,那 Linux 上还有什么使用比较广泛的压缩解压文件的命令呢?那肯定有,那就是 .gz 格式文件。今天我们就来好好讲述下在 Linux 上如何压缩和解压 gz 格式文件!

压缩文件

命令

将文件压缩为 .gz 格式的文件使用的命令gzip

gzipLinux 使用广泛的压缩程序,在系统中经常用来对文件进行压缩命令,通过此命令压缩得到的新文件,其名称后面会多处扩展名,此扩展名通常标记为“.gz

格式

gzip [选项] 源文件

源文件指的是当进行压缩操作时,的普通文件

注意(特别强调✳️)

gzip 命令只能用来压缩文件不能压缩目录,即便指定了目录,也只能压缩目录内的所有文件 ,它不能像 zip 命令可以压缩文件、文件夹

常用选项及含义

gzip 命令常用选项及含义可见下表

选项 含义
-c 将压缩数据输出到标准输出中,并保留源文件
-d 对压缩文件进行解压缩
-r 递归压缩指定目录下以及子目录下的所有文件
-v 对于每个压缩和解压缩的文件,显示相应的文件名和压缩比
-l 列出压缩文件的相关信息
-压缩级别 用于指定压缩等级,压缩级别是从 1~9 的数字,-1 代表压缩速度更快,-9 代表压缩效果更好 ,默认压缩比是 -6

具体选项如何使用,大家可根据各自需求来选择使用

实例

「gzip 命令的基本使用」

gzip 压缩命令非常简单,它不需要指定压缩之后的压缩包名,只需指定源文件名即可

one).  基本压缩

查看文件

[root@wht ~]# ll
total 324
-rw-r--r-- 1 root root  10231 Oct  9 16:11 aa.java
-rw-r--r-- 1 root root 315955 Sep  3 14:25 logo.png

压缩 aa.java 文件

[root@wht ~]# gzip aa.java 

查看压缩完成✅后的压缩文件

[root@wht ~]# ll
total 320
-rw-r--r-- 1 root root   5374 Oct  9 16:11 aa.java.gz
-rw-r--r-- 1 root root 315955 Sep  3 14:25 logo.png
Linux 系统 压缩和解压 gz 格式文件

从图中发现 压缩文件生成,但是会导致 源文件 也消失了,从而生成压缩文件

相信看到这,一些我们的强迫症群体就会在想,那能不能在压缩文件的时候,不让源文件消失?

其实不瞒你说,也是可以的,不过很别扭,那该如何才能是源文件不消失,保存下来呢!那我们接着往下看

瞧好了啊!

two).  保留源文件压缩

logo.png 压缩并不使源文件消失

[root@wht ~]# gzip -c logo.png > logo.png.gz

查看压缩完成✅后的 logo.png.gz 压缩文件,并查看源文件是否存在,查看发现存在

[root@wht ~]# ll
total 624
-rw-r--r-- 1 root root   5374 Oct  9 16:11 aa.java.gz
-rw-r--r-- 1 root root 315955 Sep  3 14:25 logo.png
-rw-r--r-- 1 root root 307502 Nov 28 16:03 logo.png.gz
Linux 系统 压缩和解压 gz 格式文件

three).  压缩目录

使用 gzip 命令压缩目录,需要使用 “-r选项,前面我们说了 gzip 不能 压缩目录只能压缩目录内的所有文件 ,但是我们可以来试下,让大家看下效果

建立测试的目录 test 并查看

[root@wht ~]# mkdir test
[root@wht ~]# ll
total 628
-rw-r--r-- 1 root root   5374 Oct  9 16:11 aa.java.gz
-rw-r--r-- 1 root root 315955 Sep  3 14:25 logo.png
-rw-r--r-- 1 root root 307502 Nov 28 16:03 logo.png.gz
drwxr-xr-x 2 root root   4096 Nov 28 16:09 test

进入 test 目录,创建两个 测试文件 test1.txttest2.txt并查看,查看后返回 test 所在目录

[root@wht ~]# cd test/
[root@wht test]# touch test1.txt test2.txt
[root@wht test]# ll
total 0
-rw-r--r-- 1 root root 0 Nov 28 16:11 test1.txt
-rw-r--r-- 1 root root 0 Nov 28 16:11 test2.txt
[root@wht test]# cd ..
[root@wht ~]# ll
total 628
-rw-r--r-- 1 root root   5374 Oct  9 16:11 aa.java.gz
-rw-r--r-- 1 root root 315955 Sep  3 14:25 logo.png
-rw-r--r-- 1 root root 307502 Nov 28 16:03 logo.png.gz
drwxr-xr-x 2 root root   4096 Nov 28 16:11 test

压缩测试目录 test

[root@wht ~]# gzip -r test/

压缩目录,发现压缩过程中并没有报错

然后查看生成压缩包,发现test目录依旧存在,并没有变为压缩文件

[root@wht ~]# ll
total 628
-rw-r--r-- 1 root root   5374 Oct  9 16:11 aa.java.gz
-rw-r--r-- 1 root root 315955 Sep  3 14:25 logo.png
-rw-r--r-- 1 root root 307502 Nov 28 16:03 logo.png.gz
drwxr-xr-x 2 root root   4096 Nov 28 16:17 test

这时查看 test 目录下的内容, 发现 测试目录下的所有测试文件都被压缩为了压缩文件,原来gzip命令不会打包目录而是把目录下所有的子文件分别压缩

[root@wht ~]# ll test/
total 8
-rw-r--r-- 1 root root 30 Nov 28 16:11 test1.txt.gz
-rw-r--r-- 1 root root 30 Nov 28 16:11 test2.txt.gz
Linux 系统 压缩和解压 gz 格式文件

原因

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

压缩文件及目录就到这完结了,接下来我们来看 解压 gz 格式压缩包

解压压缩文件

命令

解压 .gz 格式文件需要用到 gunzip 命令

gunzip 是一个使用广泛的解压缩命令它用于解压被 gzip 压缩过的文件(扩展名为 .gz)

格式

gunzip 命令可以查看解压缩 gz 文件

gunzip [选项] 压缩文件名称

常用选项及含义

unzip 命令常用选项及含义可见下表

选项 含义
-r 递归处理,解压缩指定目录下以及子目录下的所有文件
-c 把解压缩后的文件输出到标准输出设备
-f 强制解压缩文件,不理会文件是否已存在等情况
-l 列出压缩文件内容
-t 测试压缩文件有无损坏,是否正常,但并不解压,不对其做解压缩操作
-v 显示命令执行过程

具体选项如何使用,大家也可根据各自需求来选择使用

接下来我们来举几个例子!

实例

one).  直接解压缩文件

查看文件压缩包

[root@wht ~]# ll
total 628
-rw-r--r-- 1 root root   5374 Oct  9 16:11 aa.java.gz
-rw-r--r-- 1 root root 315955 Sep  3 14:25 logo.png
-rw-r--r-- 1 root root 307502 Nov 28 16:03 logo.png.gz
drwxr-xr-x 2 root root   4096 Nov 28 16:17 test

aa.java.gz 文件压缩包解压

[root@wht ~]# gunzip aa.java.gz 

查看解压完成✅后的文件,可发现 aa.java.gz 压缩文件已经被解压,新生成了 aa.java ,源压缩文件也会消失,性质和压缩的时候是一样的!

[root@wht ~]# ll
total 632
-rw-r--r-- 1 root root  10231 Oct  9 16:11 aa.java
-rw-r--r-- 1 root root 315955 Sep  3 14:25 logo.png
-rw-r--r-- 1 root root 307502 Nov 28 16:03 logo.png.gz
drwxr-xr-x 2 root root   4096 Nov 28 16:17 test
Linux 系统 压缩和解压 gz 格式文件

接下来我们来解压目录下的压缩文件

two).  解压目录下的压缩文件包

要解压缩目录下的压缩文件包,同样需使用 "-r" 选项

查看 test 目录下的内容

[root@wht ~]# ll test/
total 8
-rw-r--r-- 1 root root 30 Nov 28 16:11 test1.txt.gz
-rw-r--r-- 1 root root 30 Nov 28 16:11 test2.txt.gz

test 目录下的 压缩文件包解压

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

查看解压完成✅后的  test 目录下的内容

[root@wht ~]# ll test/       
total 0
-rw-r--r-- 1 root root 0 Nov 28 16:11 test1.txt
-rw-r--r-- 1 root root 0 Nov 28 16:11 test2.txt
Linux 系统 压缩和解压 gz 格式文件

看到这,解压文件目录的实例就到此结束了!

扩展

解压被 gzip 压缩过的文件,也可以使用 gzip 它自身的命令 ,直接使用以下命令就可以解压,前面我们在说 gzip的常用选项及含义表中也有说

gzip -d 压缩包

具体使用实例

查看 压缩包

[root@wht ~]# ll
total 320
-rw-r--r-- 1 root root  10231 Oct  9 16:11 aa.java
-rw-r--r-- 1 root root 307502 Nov 28 16:03 logo.png.gz
drwxr-xr-x 2 root root   4096 Nov 28 18:19 test

使用 gzip 解压 logo.png.gz 文件压缩包

gzip -d logo.png.gz

解压后,查看是否解压成功

[root@wht ~]# ll
total 328
-rw-r--r-- 1 root root  10231 Oct  9 16:11 aa.java
-rw-r--r-- 1 root root 315955 Nov 28 16:03 logo.png
drwxr-xr-x 2 root root   4096 Nov 28 18:19 test
Linux 系统 压缩和解压 gz 格式文件

gunzipgzip 自身解压 这两种解压方式大家可选择自己喜欢的方式解压」

总结

看到这,我们今天所分解的压缩及解压 gz 格式文件就到此完结了!是不是超级方便!一行命令搞定压缩解压!快去试试吧,非常nice !别着急,还有更多的秘密等着你来探索!

Linux 系统 压缩和解压 gz 格式文件

分享嗨起来,在看点起来,美德传起来,点个星标从此探索之路不迷茫!

END


  转 载 须 知  

本文由 余存 原创

本文作者|余存

CSDN|超Ren专属 

原创不易,若觉喜欢,点个在看,尽情分享

转载请回复后台 “ 转载 ” 查看




秘密精选



围观

Linux 系统 压缩和解压 gz 格式文件  

热文

 


长按下图二维码关注,你将探索程序更多的秘密,且每篇文章都有干货。


喜欢就点个在看再走吧