linux zip和gzip zip的区别

在Linux中使用Gzip压缩和解压文件的教程
作者:B N Poornima
字体:[ ] 来源:开源中文社区 时间:06-06 16:29:36
这篇文章主要介绍了在Linux中使用Gzip压缩和解压文件的教程,Gzip软件基于CGI界面使用,需要的朋友可以参考下
Gzip 即 GNU zip,它是一个被广泛用于 Linux 操作系统中的压缩应用,被其压缩的文件的后缀名为'*.gz' 。
基本用法如下:a) 压缩文件
&&&代码如下:gzip file(s)
每个文件将被单独压缩。
通常在压缩完成后,它会将原来的文件删除。我们可以使用 -c 选项来保留原来的文件。
&&&代码如下:gzip -c file & file.gz
&&& 压缩后保留原有文件
我们也可以将一组文件压缩到一个单独的文件中
&&&代码如下:cat file1 file2 file3 | gzip & archieve.gz
&&& 压缩一组文件b) 检查压缩比
被压缩文件的压缩比可以使用 &-l& 选项来进行检验。
&&&代码如下:gzip -l archieve.gz&
&&& 检查压缩率c) 解压文件
Gunzip 用来解压文件,在这里,原有的(压缩)文件在被解压后同样会被删除。使用 -c选项来保留原始文件。
&&&代码如下: gunzip -c archieve.gz&&&&
gzip 加上'-d'选项 和 gunzip 对压缩文件有同样的效果。
更多细节可以从 得到。
大家感兴趣的内容
12345678910
最近更新的内容6169人阅读
Linux(141)
& Linux 常用的压缩命令有 gzip 和 zip,两种压缩包的结尾不同:zip 压缩的后文件是 *.zip ,而 gzip 压缩后的文件 *.gz&
相应的解压缩命令则是 gunzip 和 unzip&
gzip 命令:&
# gzip test.txt&
它会将文件压缩为文件 test.txt.gz,原来的文件则没有了,解压缩也一样&
# gunzip test.txt.gz&
它会将文件解压缩为文件 test.txt,原来的文件则没有了,为了保留原有的文件,我们可以加上 -c 选项并利用 linux 的重定向&
# gzip -c test.txt & /root/test.gz&
这样不但可以将原有的文件保留,而且可以将压缩包放到任何目录中,解压缩也一样&
# gunzip -c /root/test.gz & ./test.txt&
zip 命令:&
# zip test.zip test.txt&
它会将 test.txt 文件压缩为 test.zip ,当然也可以指定压缩包的目录,例如 /root/test.zip&
# unzip test.zip&
它会默认将文件解压到当前目录,如果要解压到指定目录,可以加上 -d 选项&
# unzip test.zip -d /root/&
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1002406次
积分:10000
积分:10000
排名:第2703名
原创:165篇
转载:256篇
评论:53条
(4)(1)(2)(3)(9)(8)(5)(5)(10)(2)(3)(4)(8)(9)(2)(8)(12)(10)(8)(7)(15)(18)(9)(23)(24)(16)(1)(2)(3)(3)(3)(1)(4)(26)(28)(9)(33)(3)(2)(3)(8)(6)(10)(6)(13)(15)(7)(4)(8)gzip 和 zip在linux上的使用 - 推酷
gzip 和 zip在linux上的使用
文件的压缩/解压无论是在哪个操作系统上都比较常用 简答在这里演示一下。
zip会把文件打包为.zip格式的文件包,比如 abc.zip
zip abc.zip testabc.txt
上面的shell会把testabc.txt压缩在当前目录下的abc.zip文件中 当然你也可以指定压缩到你指定的路径如 zip /opt/abc.zip testabc.txt
unzip abc.zip
把abc.zip包解压到当前目录 如需指定解压到其他目录 需要指定-d 参数 如 unzip abc.zip -d /opt/abc
从压缩后的压缩包文件格式上与zip命令不同的是gzip压缩后的文件格式为.gz
//压缩为文件 abc.txt.gz 会删除原有的abc.txt文件
gzip abc.txt
//解压abc.txt.gz 会删除原有的abc.txt.gz文件
gunzip abc.txt.gz
//如需要保留原来的压缩文件 需要加-c 参数
// gzip -c abc.txt & /root/abc.gz
// gunzip -c /abc.gz & ./abc.txt
上一篇: 没有了
下一篇:Hello Docker
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致网页设计教程与开发
提供各种常见网页效果
提供各种各样的设计教程
装扮QQ,让QQ变得更酷
设计参考,提高自升水平
学习服务器和操作系统
提供各种素材和工具
收藏学习资料
您现在的位置:&&>>&&>>&&>>&&>>&正文
全面解析Linux空间用Gzip对网页内容进行压缩
使用mod_gzip 和 mod_deflate对网页内容进行压缩
Gzip是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在Linux平台。当应用Gzip压缩到一个纯文本文件时,效果是非常明显的,大约可以减少70%以上的文件大小。这取决于文件中的内容。
利用Apache中的Gzip模块,我们可以使用Gzip压缩算法来对Apache服务器发布的网页内容进行压缩后再传输到客户端浏览器。这样经过压缩后实际上降低了网络传输的字节数,最明显的好处就是可以加快网页加载的速度。
网页加载速度加快的好处不言而喻,除了节省流量,改善用户的浏览体验外,另一个潜在的好处是Gzip与搜索引擎的抓取工具有着更好的关系。例如Google就可以通过直接读取gzip文件来比普通手工抓取更快地检索网页。在Google网站管理员工具(Google Webmaster Tools)中你可以看到,sitemap.xml.gz 是直接作为Sitemap被提交的。
而这些好处并不仅仅限于静态内容,PHP动态页面和其他动态生成的内容均可以通过使用Apache压缩模块压缩,加上其他的性能调整机制和相应的服务器端缓存规则,这可以大大提高网站的性能。
因此,对于部署在Linux服务器上的PHP程序,在服务器支持的情况下,我们建议你开启使用Gzip Web压缩。
二、 Gzip Web压缩工作原理
Web服务器处理HTTP压缩的过程如下:
1. Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩(Accept-Encoding 信息);
2. 如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;
3. 如果请求文件是HTML、CSS等静态文件,Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;
4. 如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;
5. 如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;
6. 如果请求文件是动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。
下面是两个演示图:
未使用Gzip:
开启使用Gzip后:
三、让我们开始吧!
Apache上利用Gzip压缩算法进行压缩的模块有两种:mod_gzip 和mod_deflate。要使用Gzip Web压缩,请首先确定你的服务器开启了对这两个组件之一的支持。在Linux服务器上,现在已经有越来越多的空间商开放了对它们的支持,有的甚至是同时支持这两个模块的。例如目前Godaddy、Bluehost及DreamHosts等空间商的服务器都已同时支持mod_gzip 和mod_deflate。
虽然使用Gzip同时也需要客户端浏览器的支持,不过不用担心,目前大部分浏览器都已经支持Gzip了,如IE、Mozilla Firefox、Opera、Chrome等。
通过查看HTTP头,我们可以快速判断使用的客户端浏览器是否支持接受gzip压缩。
若发送的HTTP头中出现以下信息,则表明你的浏览器支持接受相应的gzip压缩:
Accept-Encoding: gzip && &支持mod_gzipAccept-Encoding: deflate && &支持mod_deflateAccept-Encoding: gzip,deflate & &同时支持mod_gzip 和mod_deflate
如果服务器开启了对Gzip组件的支持,那么我们就可以在http.conf或.htaccess里面进行定制,下面是一个.htaccess配置的简单实例:
以下为引用的内容:
# mod_gzip:&ifModule mod_gzip.c&mod_gzip_on Yesmod_gzip_dechunk Yesmod_gzip_item_include file \.(html?|txt|css|js|php|pl)$mod_gzip_item_include handler ^cgi-script$mod_gzip_item_include mime ^text/.*mod_gzip_item_include mime ^application/x-javascript.*mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*&/ifModule&
以下为引用的内容:
# mod_deflate:&ifmodule mod_deflate.c&DeflateCompressionLevel 6 #压缩率, 6是建议值.AddOutputFilterByType DEFLATE text/plainAddOutputFilterByType DEFLATE text/htmlAddOutputFilterByType DEFLATE text/xmlAddOutputFilterByType DEFLATE text/cssAddOutputFilterByType DEFLATE text/javascriptAddOutputFilterByType DEFLATE application/xhtml+xmlAddOutputFilterByType DEFLATE application/xmlAddOutputFilterByType DEFLATE application/rss+xmlAddOutputFilterByType DEFLATE application/atom_xmlAddOutputFilterByType DEFLATE application/x-javascriptAddOutputFilterByType DEFLATE application/x-httpd-phpAddOutputFilterByType DEFLATE image/svg+xml&/ifmodule&
里面的文件MIME类型可以根据自己情况添加,至于PDF 、图片、音乐文档之类的这些本身都已经高度压缩格式,重复压缩的作用不大,反而可能会因为增加CPU的处理时间及浏览器的渲染问题而降低性能。所以就没必要再通过Gzip压缩。
通过以上设置后再查看返回的HTTP头,出现以下信息则表明返回的数据已经过压缩。即网站程序所配置的Gzip压缩已生效。
Content-Encoding: gzip
注:不管使用mod_gzip 还是mod_deflate,此处返回的信息都一样。因为它们都是实现的gzip压缩方式。
除此之外,还可以通过一些在线检测工具(如:http://www.whatsmyip.org/http_compression/)来检测你的网站内容是否已经过Gzip压缩。
四、mod_gzip 和mod_deflate的主要区别是什么?使用哪个更好呢?
首先一个区别是安装它们的Apache Web服务器版本的差异。Apache 1.x系列没有内建网页压缩技术,所以才去用额外的第三方mod_gzip 模块来执行压缩。而Apache 2.x官方在开发的时候,就把网页压缩考虑进去,内建了mod_deflate 这个模块,用以取代mod_gzip。虽然两者都是使用的Gzip压缩算法,它们的运作原理是类似的。
第二个区别是压缩质量。mod_deflate 压缩速度略快而mod_gzip 的压缩比略高。一般默认情况下,mod_gzip 会比mod_deflate 多出4%~6%的压缩量。
那么,为什么使用mod_deflate?第三个区别是对服务器资源的占用。一般来说mod_gzip 对服务器CPU的占用要高一些。mod_deflate 是专门为确保服务器的性能而使用的一个压缩模块,mod_deflate 需要较少的资源来压缩文件。这意味着在高流量的服务器,使用mod_deflate 可能会比mod_gzip 加载速度更快。
不太明白?简而言之,如果你的网站,每天不到1000独立访客,想要加快网页的加载速度,就使用mod_gzip。虽然会额外耗费一些服务器资源,但也是值得的。如果你的网站每天超过1000独立访客,并且使用的是共享的虚拟主机,所分配系统资源有限的话,使用mod_deflate 将会是更好的选择。
另外,从Apache 2.0.45开始,mod_deflate 可使用DeflateCompressionLevel 指令来设置压缩级别。该指令的值可为1至(压缩速度最快,最低的压缩质量)9(最慢的压缩速度,压缩率最高)之间的整数,其默认值为6(压缩速度和压缩质量较为平衡的值)。这个简单的变化更是使得mod_deflate 可以轻松媲美mod_gzip 的压缩。
P.S. 对于没有启用以上两种Gzip模块的虚拟空间,还可以退而求其次使用php的zlib函数库(同样需要查看服务器是否支持)来压缩文件,只是这种方法使用起来比较麻烦,而且一般会比较耗费服务器资源,请根据情况慎重使用。
Linux 空间不支持mod_gzip、mod_deflate模块
Linux 空间不支持mod_gzip、mod_deflate模块,若想通过GZIP压缩网页内容,可以考虑两种方式,开启zlib.output_compression或者通过ob_gzhandler编码的方式。
zlib.output_compression是在对网页内容压缩的同时发送数据至客户端,ob_gzhandler是等待网页内容压缩完毕后才进行发送,相比之下前者效率更高,但需要注意的是,两者不能同时使用,只能选其一,否则将出现错误。
下文仅针对GoDaddy Deluxe Hosting & Linux 空间,对两者的实现方式做简单描述。
在默认情况下,zlib.output_compression是关闭的,如需开启需编辑php5.ini文件,加入以下内容:
以下为引用的内容:zlib.output_compression = Onzlib.output_compression_level = 6
然后将php5.ini上传到FTP根目录下,剩下的事请就是等待它生效,这可能需要一段时间,可以通过phpinfo()函数检测结果:
以下为引用的内容:Directive&&&&&&&&&&&&&&&&&&&&&& Local Value&& Master Valuezlib.output_compression&&&&&&&& On&&&&&&&&&&& Onzlib.output_compression_level&& 6&&&&&&&&&&&& 6
当zlib.output_compression的Local Value和MasterValue的值同为On时,表示已经生效,这时候访问的PHP页面(包括伪静态页面)已经GZIP压缩了,通过Firebug或者在线网页GZIP压缩检测工具可检测到压缩的效果。
如果需要使用ob_gzhandler,则需关闭zlib.output_compression,把php5.ini文件内容更改为:
以下为引用的内容:zlib.output_compression = Offzlib.output_compression_level = -1
ob_gzhandler是GoDaddy官网推荐的用法,通过在PHP文件中插入相关代码实现GZIP压缩,以下是GoDaddy帮助中心所提到的:
GZIP Compression
Smaller pages load faster, regardless of your Internet connection speed. You can make your pages smaller by compressing them with GZIP. For more information about GZIP and our hosting, see Compressing Web Pages for Faster Load Times.
《Compressing Web Pages for Faster Load Times》文中提到,将以下PHP代码加入到PHP文件顶部,即可实现GZIP压缩。
以下为引用的内容:&?phpif (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'))ob_start(&ob_gzhandler&);elseob_start();?&
不管是zlib.output_compression还是ob_gzhandler,都仅能对PHP文件进行GZIP压缩,对于HTML、CSS、JS等静态文件只能通过调用PHP的方式实现。
最后想说的是,现在主流的浏览器默认使用的是HTTP1.1协议,基本都支持GZIP压缩,对于IE而言,假如你没有选中其菜单栏工具-》Internet 选项-》高级-》HTTP 1.1 设置-》使用 HTTP 1.1,那么,你将感受不到网页压缩后的速度提升所带来的快感!
注明:文章mod_gzip 和mod_deflate压缩方法的内容来自风的翅膀;zlib.output_compression与ob_gzhandler压缩方法来自
转载请注明:破洛洛(谢谢合作)
上一篇文章: 下一篇文章:
网友评论:君,已阅读到文档的结尾了呢~~
Linux下压缩、解压命令五花八门,不像在windows下一个winrar打遍天下无敌手,清一色的 rar zip格式。比如,Linux下常用的tar tar gz tar bz2 Z等等不一而足。而每种压缩和解压方式所耗CPU时间和压缩比率也差异甚大。在此我一一列举,希望不当之处,敬请各位指教。
1各种压缩解压命令Demo 1 tar仅仅做打包动作,相当于归档处理,不做压缩;解压也一样,只是把归档文件释放出来。打包归档:tar cvf examples tar examples exa..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
浅谈Linux下各种压缩 解压命令和压缩比率对比
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口}

我要回帖

更多关于 gzip和zip的区别 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信