Linux 系统 压缩和解压 gz 格式文件
come on 伸出中指戳戳上方关注我……
Linux 系统 压缩和解压 gz 格式文件
引言
前面我们说了在 Linux
系统上比较常用的打包压缩解压
tar
及 zip
文件 的命令,那 Linux 上还有什么使用比较广泛的压缩解压文件的命令
呢?那肯定有,那就是 .gz
格式文件。今天我们就来好好讲述下在 Linux 上如何压缩和解压 gz
格式文件!
压缩文件
命令
将文件压缩为 .gz
格式的文件使用的命令
为 gzip
gzip
是 Linux
使用广泛的压缩程序
,在系统中经常用来对文件进行压缩命令,通过此命令压缩得到的新文件
,其名称后面会多处扩展名,此扩展名通常标记为“.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
从图中发现 压缩文件生成,但是会导致 源文件
也消失了,从而生成压缩文件
。
相信看到这,一些我们的强迫症群体就会在想,那能不能在压缩文件的时候,不让源文件消失?
其实不瞒你说,也是可以的,不过很别扭,那该如何才能是源文件不消失,保存下来呢!那我们接着往下看
瞧好了啊!
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
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.txt
、 test2.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
中,打包
和压缩
是分开处理的
,而 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
接下来我们来解压目录下的压缩文件
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
看到这,解压文件
及目录
的实例就到此结束了!
扩展
解压被 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
「gunzip
和 gzip 自身解压
这两种解压方式大家可选择自己喜欢的方式解压」
总结
看到这,我们今天所分解的压缩及解压 gz
格式文件就到此完结了!是不是超级方便!一行命令搞定压缩解压!快去试试吧,非常nice !别着急,还有更多的秘密等着你来探索!
分享嗨起来,在看点起来,美德传起来,点个星标从此探索之路不迷茫!
END
转 载 须 知
本文由 余存 原创
本文作者|余存
CSDN|超Ren专属
原创不易,若觉喜欢,点个在看,尽情分享
转载请回复后台 “ 转载 ” 查看
秘密精选
围观
热文
长按下图二维码关注,你将探索程序更多的秘密,且每篇文章都有干货。