gzip 是GNU/Linux平台下常用的压缩软件,处理后缀名.gz的文件。 gzip 、 gunzip 和 zcat 都可以处理这种格式的。但这些工具只能压缩/解压缩单个文件或数据流,无法直接归档目录和多个文件。但是, gzip 可以同tar 和 cpio 这类归档工具配合使用。

本文本记录gzip的使用方法。

1. 使用 gzip 压缩文件:

gzip filename 

上述命令会压缩文件名为filename的文件,并生成filename.gz,注意,原文件会被替换。

2. 解压缩 gzip 文件:

gunzip filename.gz 

与gzip相反,gunzip命令用于解压缩,原文件也会被替换掉。

3.  列出压缩文件的属性信息:

gzip -l filename.gz

4. gzip 从 stdin 中读入文件并将压缩文件写出到 stdout

cat file | gzip -c > file.gz

选项  -c 用来将输出指定到 stdout 。该选项也可以与 cpio 配合使用:

ls * | cpio -o | gzip -c > cpiooutput.gz
zcat cpiooutput.gz | cpio -it 

5. 指定 gzip 的压缩级别

--fast 或 --best 选项分别提供最低或最高的压缩率。

6.  压缩归档文件

后缀 tar.gz 或.tgz表示的是经过gzip压缩过的 tar 归档文件。

有两种方法可以创建此类文件。

6.1 第一种方法

tar -czvvf archive.tar.gz [FILES] 

或者

tar -cavvf archive.tar.gz [FILES] 

选项 -z 指明用 gzip 进行压缩,选项 -a 指明根据文件扩展名推断压缩格式。

6.2 第二种方法

分成两步:首先创建一个 tar 归档文件;然后再压缩归档文件

$ tar -cvvf archive.tar [FILES]
$ gzip archive.tar 

7.  zcat 直接读取gzip格式文件

zcat 命令无需经过解压缩操作就可以将 .gz 文件的内容输出到 stdout 。 .gz 文件不会发生任
何变化。 zcat 类似有点类似cat。

8. 压缩率

可以指定压缩率,它共有9级,其中:

  • 1级的压缩率最低,但是压缩速度最快
  • 9级的压缩率最高,但是压缩速度最慢。
gzip -5 filename

gzip 默认使用第6级,倾向于在牺牲一些压缩速度的情况下获得比较好的压缩率。

使用 gzip 压缩数据相关推荐

  1. java压缩传输gzip_服务器使用Gzip压缩数据,加快网络传输(Java 例子)

    在我们的项目中,添加对gzip的支持,是为了加快数据在网络中的传输速度. 使用gzip,首先要设置请求消息头Accept-Encoding为gzip.这样,你将会得到一个响应,根据消息头Content ...

  2. 服务端使用GZIP压缩数据

    1:问题描述:在服务端查找的数据量太大,得到响应数据时间很慢,达到了10s... 2:解决办法,服务端将数据进行GZIP压缩,时间大大缩短. 参考https://zhuanlan.zhihu.com/ ...

  3. java http 压缩_解压HTTP API的GZIP压缩数据

    1.对Java后端的请求HttpURLConnection对象中的消息头设置压缩 connection.setRequestProperty("Accept-Encoding", ...

  4. python压缩数据长度_如何解码在python HTTP响应中返回的gzip压缩数据?

    使用zlib.decompress(string, wbits, bufsize)时指定wbits例如,请参阅"疑难解答"的末尾. 故障排除 让我们开始了与下载未知"内容 ...

  5. java gzip rest_RestTemplate与Gzip压缩

    Gzip 是一种压缩算法,服务器经常通过这个算法来压缩响应体,再响应给客户端,从而减少数据体积,提高传输速度.客户端再通过Gzip解压缩,获取到原始的数据.因为需要压缩计算,所以会耗费额外的CPU资源 ...

  6. Nginx之gzip压缩配置

    一ngx_http_gzip_module模块 这个模块主要负责gzip功能的开启和设置 1.1 gzip 语法结构:gzip on | off 默认为off,不弃用gzip,只有该指令置为on的时候 ...

  7. Node.js 使用 zlib 内置模块进行 gzip 压缩

    ?? NodeJS专栏:Node.js从入门到精通 ?? 博主的前端之路:前端之行,任重道远(来自大三学长的万字自述) ?? 加入社区领红包:(从前端到全栈) ???个人简介:即将大三的学生,一个不甘 ...

  8. Spring Boot + Gzip 压缩超大 JSON 对象,传输大小减少一半

    1. 业务背景 是这样的,业务背景是公司的内部系统有一个广告保存接口,需要 ADX 那边将投放的广告数据进行保存供后续使用.广告数据大概长这样: {"adName":"& ...

  9. Gzip 服务端压缩数据

    2019独角兽企业重金招聘Python工程师标准>>> Gzip 服务端压缩数据,提高传输速率. 首先写一个过滤器 public class GzipValidator implem ...

最新文章

  1. 加码 2000 亿还不够,阿里云再建三座超级数据中心加速新基建
  2. mplayer最全的命令
  3. 系统学习机器学习之决策树
  4. c/c++源文件为何要包含自己的头文件?(编译器检查定义和声明的一致性)(编译报错:undefined reference to...)
  5. snmp在企业网中的简单应用
  6. Linux内存管理(经典)
  7. 音视频技术开发周刊 | 197
  8. JavaScript为事件处理器传递参数 (转)
  9. mysql中b树是什么_MySQL优化中B树索引知识点总结
  10. Red and Black(红与黑)BFS
  11. Shell脚本编程与文件系统修复
  12. sql server managerment 给表加说明
  13. 象棋军师app已经上线
  14. 纠正口呼吸,信医生别信“神器”
  15. linux下U盘为只读文件系统的解决办法
  16. 当我谈跑步时我谈些什么
  17. DNS域名解析和正向解析
  18. HTML网页黑白滤镜
  19. 机器学习之决策树实现隐形眼镜预测
  20. 第12章 项目沟通管理和干系人管理

热门文章

  1. python中参数是什么_python中parameter是什么
  2. python大赛对名_用100行Python爬虫代码抓取公开的足球数据玩(一)
  3. A Simple but Effective Pluggable Entity Lookup Table for Pre-trained Language Models翻译
  4. 如何去区分IP地址的网络位和主机位?
  5. java前后台开发之文件上传
  6. redis-使用Java代码操作
  7. 爬虫输入关键字搜索爬取图片
  8. C51单片机之keil编程入门(一)
  9. centos7搭建集群过程
  10. win10任务栏固定图标删不掉