Linux下的gzip命令

gzip命令介绍

gzip是在Linux下使用最广的压缩命令了,它可以解开compress、zip与gzip软件压缩的文件。

命令格式

gzip [参数与选项] 源文件名
zcat 文件名.gz 查看压缩文件内容
gunzip 解压文件名
参数:

  1. -c:将压缩的数据输出到屏幕上,可以通过数据流重定向来处理,同时保留源文件;
  2. -d:解压缩文件的参数;
  3. -r:递归,压缩源目录下的文件参数;
  4. -v:可以显示源文件的压缩比;
  5. -#:#为数字的意思,代表压缩等级,-1最快,-9最慢,以gzip的方式压缩;
  6. -n:或–no-name  ,压缩文件时,不保存原来的文件名称及时间戳记
  7. -N:或–name,压缩文件时,保存原来的文件名称及时间戳记
  8. -k:保留源文件

实例

【例一】基本压缩
[root@scoffer ~]# echo my name is a scoffer >>index.html
[root@scoffer ~]# ls
Downloads index.html
[root@scoffer ~]# gzip index.html
[root@scoffer ~]# ls
Downloads index.html.gz
当你采用gzip方式压缩时,会在原有的文件上被压缩成为.gz的后缀的文件,源文件会不存在了,在这一点上与windows系统不同,使用gzip的文件在windows系统上,可以被软件解压。
【例二】保留源文件压缩
[root@scoffer ~]# echo my name is a scoffer >scoffer
[root@scoffer ~]# gzip -c scoffer >scoffer.gz
#单纯的-c是将数据输出到屏幕上的,但是我用的是重定向将scoffer的数据通过重定向的方式,输出到scoffer.gz上
[root@scoffer ~]# ls
scoffer.gz scoffer
[root@scoffer ~]# zcat scoffer.gz
my name is a scoffer
[root@scoffer /]# gzip -dc scoffer.gz >>scoffer
[root@scoffer /]# ls
scoffer
【例三】解压缩
[root@scoffer ~]# gzip -d scoffer.gz
[root@scoffer ~]# ls
scoffer scoffer.gz
#解压之后系统默认的把扩展名取消,还是scoffer
【例四】压缩文件查找关键词
[root@scoffer /]# ll /etc/ >>scoffer
[root@scoffer /]# gzip -c scoffer >>scoffer.gz
[root@scoffer /]# zgrep -n ‘hostname’ scoffer.gz
88:-rw-r–r--. 1 root root 11 Jan 10 21:57 hostname
#通过zgrep把hostname信息查找出来
【例五】仅是压缩,不打包
一些人用户来问我,为何在文件压缩了之后,进行重名名操作,为何压缩之后是重名名的文件名,我说:你们向百度搜索压缩和打包的概念吧!压缩是把大的文件压缩成较小的文件,打包是把一群文件或目录打包成一个文件或目录,解压是把较小的文件恢复成原本 的大型文件。
[root@scoffer /]# mv scoffer.gz 1.gz
[root@scoffer /]# ls
1.gz
[root@scoffer /]# gunzip 1.gz
[root@scoffer /]# ls
1
#因为把小文件是1.gz恢复之后,解压完.gz扩展名消失,那肯定是1呀
但是加上-n参数不一样了
[root@scoffer /]# gzip -vN scoffer
scoffer: 80.5% – replaced with scoffer.gz
#以压缩比的形式显示,压缩时保留时间及文件名
[root@scoffer /]# mv scoffer.gz 2.gz
[root@scoffer /]# gzip -dN 2.gz
#解压时保留时间及文件名,故恢复到scoffer
[root@scoffer /]# ls
scoffer
【例六】单参数保留源文件
[root@scoffer ~]# ls
scoffer
[root@scoffer ~]# gzip -kv scoffer
scoffer: 3.1% – created scoffer.gz
[root@scoffer ~]# ls
scoffer scoffer.gz
【例七】压缩源目录下的文件,不能压缩目录
[root@scoffer ~]# mkdir -p 1/2
[root@scoffer ~]# echo my name is a scoffer >>1/2/3
[root@scoffer ~]# mkdir 1/1.1
[root@scoffer ~]# echo my name is a scoffer >>1/1.1/2.1
[root@scoffer ~]# gzip -vr 1
1/2/3: -9.5% – replaced with 1/2/3.gz
1/1.1/2.1: -9.5% – replaced with 1/1.1/2.1.gz
[root@scoffer ~]# ls 1/1.1/
2.1.gz
[root@scoffer ~]# ls 1/2/
3.gz
#目录没有压缩,只有各子目录下的文件进行压缩,如果压缩目录需要用tar命令,下篇再讲!欢迎各位大佬指出不足!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值