linux 压缩文件夹.gz,Linux 系统 压缩和解压 gz 格式文件

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

13367d80af7b1a49f3705cbd6665bb86.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

18fc15d3daf3796935f2a60c93a1d09b.png

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

2aac7a7342fb945ec8592361250a0db3.png

原因

因为在 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

281ebea76b2b55d4928ff5b0dc218511.png

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

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

226c6ec2d58512d4529197320f84b638.png

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

扩展

解压被 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

c7e735489988474b1c999522fe41eaf2.png

「gunzip 和 gzip 自身解压 这两种解压方式大家可选择自己喜欢的方式解压」

总结

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

5e9caf554882f4ac41a6f228150acc1e.png

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

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值