如何使用Linux解压.deflate文件 (linux .deflate解压)

在使用Linux系统过程中,我们经常会遇到.deflate文件。这种文件是一种压缩文件,用于节约存储空间和传输时间。但是,当我们需要访问这些文件时,需要先解压缩它们。本文将探讨如何使用Linux解压缩.deflate文件。

什么是.deflate文件?

.deflate是一种基于LZ77算法的压缩算法。它可以将数据压缩到非常小的空间,从而节省存储空间和网络传输时间。.deflate文件通常用于Web和文件传输,比如Gzip、Zip等文件格式。

如何解压.deflate文件?

Linux系统内置了.deflate文件的解压功能。我们可以使用以下命令在Linux系统中解压.deflate文件:

“`

$ gzip -d filename.deflate

“`

其中,”-d”参数表示解压缩,”filename.deflate”是要解压缩的.deflate文件的名称。使用这个命令后,解压缩后的文件会在原文件的基础上添加”.gz”扩展名。

如果你需要解压缩多个.deflate文件,你可以使用以下命令:

“`

$ gzip -d *.deflate

“`

这个命令将解压缩所有的.deflate文件,不管它们的名称如何。

如果你希望解压缩后的文件的名称与原文件相同,可以使用以下命令:

“`

$ gzip -c filename.deflate > filename

“`

这个命令将把解压缩后的文件输出到标准输出,然后重定向到一个新文件。新文件的名称将与原文件相同。

如何查看.deflate文件的内容?

在解压缩.deflate文件之前,我们可能需要查看它们的内容。在Linux系统中,我们可以使用以下命令来查看.deflate文件的内容:

“`

zcat filename.deflate

“`

这个命令将.deflate文件的内容输出到标准输出。如果你需要将输出保存到一个文件中,你可以使用以下命令:

“`

zcat filename.deflate > output_filename

“`

这个命令将.deflate文件的内容输出到标准输出,并将输出重定向到一个新文件中。

如何压缩文件为.deflate格式?

如果你想将文件压缩到.deflate格式,你可以使用以下命令:

“`

$ gzip filename

“`

这个命令会将文件压缩到.deflate格式,并在原文件的基础上添加”.gz”扩展名。

如果你需要将多个文件压缩到.deflate格式,你可以使用以下命令:

“`

$ gzip file1 file2 file3

“`

这个命令将同时压缩file1、file2和file3三个文件,并将它们压缩成.deflate格式。

使用Linux解压缩.deflate文件非常简单。使用gzip命令,你可以快速地解压缩.deflate文件并查看它们的内容。此外,使用gzip命令还可以将文件压缩为.deflate格式,以便在网络上传输或存储时节省空间和时间。希望这个简单的教程可以帮助你更好地处理.deflate文件。

相关问题拓展阅读:

如何利用gzip压缩网页来提升网站浏览速度

之一步:打开IIS,启用HTTP压缩服务

右击”网站”->”属帆数性”,选择”服务”。在”HTTP压缩”框中选中”压缩应用程序文件”和” 压缩静态文件”,按需要设置”临时目录”和”临时目录的更大限制”;

第二步:启用web服务

第三步:修改MetaBase.xml

开始 > 运行中输入 c:\windows\system32\inetsrv,找到 MeteBase.xml,先备份,在修改。(有的服务器不需要修改此文件便可以使用)

搜索 Location =”/LM/W3SVC/Filters/Compression/gzip”

仔细核对下代码:

替换成:

修改好后,在服务中停止IIS Admin Service 服务.

然后在保存MeteBase.xml,保雀者存好后再启动IIS。这样Gzip压缩就启用成功了。

纯Tomcat 服务器

如果您的 WEB 应用程序是跑在 Tomcat

服务器下的,而且直接使用 Tomcat 所提供的 HTTP 服务,那建议你马上动手,因为实在是太简单了,你只需要在 server.xml

配置文件中给 HTTP Connector 增加一个 compression 的参数值为 on 并重启 Tomcat

服务器就立刻生效,配置如下:

Tomcat

采用的是 HTTP/1.1 的 GZIP 压缩协议,它会根据浏览器送过来的请求中的 accept-encoding 值是否包含 gzip

来判断浏览器是否支持 gzip 压缩协议,如果浏览器支持就启用 gzip 压缩,否则就不进行任漏尘卜何压缩处理。Tomcat 中还有另外一个参数

compressableMimeType,这个参数可以用来指定压缩哪种类型的内容,例如可以指定该配置值为:text/返穗html,text

/plain ,则只压缩 contentType 为 text/html 和 text/plain 的页面,不过您更好也将 css 和

javascript 文件也算在压缩的文件类型中,因为这两兄和者的压缩效果也十分的明显。

Apache 服务器

apache 1.3 版本,大家常用 mod_gzip 对输出内容进行压缩,现在主流的浏览器都支持 gzip 解压缩。在 apache2

下,这个模块换名为 mod_deflate,对应的模块文件名是 mod_deflate.so。mod_gzip 本文不做介绍,下面描述一下在

Apache 2 下如何启用并配置 mod_deflate 模块。默认安装的 Apache 不管是 Windows 还是

Linux/Unix,都是不启用该模块的, Linux/Unix 下甚至不带该模块,你需要手工编译这个模块。

下面我们分别介绍在 Windows 和 Linux 操作系统下如何启用并配置 mod_deflate 模块。

在 Windows 下采用安装程序安装的 Apache 服务器已经带有 deflate 所需要的模块 mod_deflate.so 和 mod_headers.so,我们只需要在 httpd.conf 配置文件中启用并进行相关的配置即可,配置如下:

LoadModule deflate_module modules/mod_deflate.so

LoadModule headers_module modules/mod_headers.so

# Insert filter

SetOutputFilter DEFLATE

# Netscape 4.x has some problems…

BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 have some more problems

BrowserMatch ^Mozilla/4\.0 no-gzip

# MSIE masquerades as Netscape, but it is fine

# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48

# the above regex won’t work. You can use the following

# workaround to get the desired effect:

BrowserMatch \bMSI !no-gzip !gzip-only-text/html

# Don’t compress images

SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary

# Make sure proxies don’t deliver the wrong content

Header append Vary User-Agent env=!dont-vary

如果是 Linux/Unix 操作系统,如果你没有在编译安装的过程中将所需要的两个模块 mod_deflate 和 mod_headers

编译进去的话,那就稍微有点麻烦,首先我们先看如何在编译安装 Apache 过程中也同时编译这两个模块,请在执行 configure

程序时增加两个参数分别是:

# ./configure –enable-deflate –enable-headers

这样在编译完 Apache 后就可以直接在 httpd.conf 中启用并配置 deflate 模块了,配置的方法跟 Windows 平台下是相同的。

果说您的 Apache 已经在运行了,不想再重新编译一次,那也可以选择只编译 deflate 模块所需的文件 mod_deflate.c

和mod_headers.c。这两个文件位于 {apache-src}/modules/filters/ 目录下(其中 {apache-src}

为 apache 源文件所在的目录)。使用如下命令来单独编译这两个源文件。

# {apache-bin}/apxs -i -a -c {apache-src}/modules/filters/mod_deflate.c

# {apache-bin}/apxs –i –a –c {apache-src}/modules/filters/mod_headers.c

其中 {apache-bin} 为 Apache 安装目录下的 bin 目录,接下来在 httpd.conf 直接配置该模块即可。

很多时候你在单独编译 deflate 模块的时候可能会碰到编译错误,提示是:

Cannot load /opt/apache/modules/mod_deflate.so into server: /opt/apache/modules/mod_deflate.so: undefined symbol: deflate

解决的方法如下:

编辑 /usr/local/apache2/bin/apr-config 文件修改其中的 LDFLAGS 值为 “-lz”,然后再重新编译 mod_deflate 模块,apxs -ica mod_deflate.c 即可。

为了省却不必要的麻烦,请尽量在编译安装时直接加上 –enable-deflate –enable-headers 参数。

IIS 服务器

软的 IIS 服务器同样也是目前用得最多的 WEB 服务器之一,而且用来运行 ASP 页面也是必不可少的。IIS6,iis本身支持 gzip

压缩,IIS5就比较费劲了,你可以找一些第三方的组件来处理,例如 httpzip,接下来我们介绍如何在 IIS6 中启用压缩功能。

打开 Internet 信息服务(IIS)管理器,右击”网站”->”属性”,选择”服务”。在 “HTTP压缩” 框中选中 “压缩应用程序文件” 和 “压缩静态文件”,按需要设置 “临时目录” 和 “临时目录的更大限制”,

设置网站属性

下来配置 gzip 组件,在 Internet 信息服务(IIS)管理器,点击 “Web 服务扩展”->”增加一个新的 Web

服务扩展…”,在 “新建 Web 服务扩展” 框中输入扩展名 “HTTP Compression”,添加 “要求的文件” 为

C:\WINDOWS\system32\inetsrv\gzip.dll,选中 “设置扩展状态为允许”,如下图所示:

设置 Web 服务扩展,新建 Web 服务扩展

还没完呢,我们还需要修改一个配置文件,修改之前请先停止 IIS 服务,打开 C:\Windows\System32\inetsrv\MetaBase.xml,这个文件很大,找到下面一段信息:

增加一些要进行压缩的文件后缀,其中 HcFileExtensions 是静态文件的扩展名,增加 js 和 css 等;HcScriptFileExtensions 为动态文件的扩展名,增加 aspx,保存后启动 IIS 即可生效。

后我们介绍如何来测试前面所做的工作是否起效,你可能会觉得很奇怪,配置好了,用浏览器打开页面正常,查看页面源码,内容并没有变化,大小也跟原来一样,

怎么回事呢?这是因为浏览器已经把内容解压了的结果,有两个方法来判断压缩是否生效:之一,查看 WEB 服务器的日志,不管是 Apache 或者是

IIS,二者的访问日志格式都差不多是下面这种格式:

127.0.0.1 – – “GET /manual/style/css/manual.css HTTP/1.1”

后两个数字分别是 HTTP 的结果码(200 表示 OK),19351

表示的是响应内容的大小,把这个大小跟你在浏览器上查看源码的大小比较一下就可以知道是否生效。另外一种方法就是自己写一个 HTTP

客户端的小程序并设置 Accept-Encoding 的值为 gzip,deflate,由这个程序去请求服务器端的某个 URL

地址,然后打印出响应的内容,如果是一堆乱码,恭喜你,配置成功。下面是一段 Java 写的测试客户端代码(需要用到

commons-httpclient 包):

HttpClient http = new HttpClient();

String url =

GetMethod get = new GetMethod(url);

try{

System.out.println(“fetching url : “+ url);

get.addRequestHeader(“accept-encoding”, “gzip,deflate”);

int er = http.executeMethod(get);

if(er==200){

System.out.println(get.getResponseContentLength());

String html = get.getResponseBodyAsString();

System.out.println(html);

System.out.println(html.getBytes().length);

}

}finally{

get.releaseConnection();

}

结论

上是目前比较流行的两个 WEB 服务器软件以及 Tomcat 服务器对于页面压缩的配置方法;其他的一些 J2EE

应用服务器如果不支持这个功能的话可以考虑利用过滤器(Servlet Filter)来进行处理,具体的代码以及配置方法可以参考 Resin

服务器所提供的文档。但是有一点需要提醒各位读者的是,本文介绍的访问只是在服务器本身的响应速度已经足够优化的情况下进行,也就是说在带宽成为系统瓶颈

的时候才来考虑该方案。

之一步:打开IIS,启用HTTP压缩服务

右击棚液”网站”->”属性”,选择”服务”。在”HTTP压缩”框中选中”压缩应用程序文件”和” 压缩静态文件毁和亩”,按需要设置”临时目录”和”临时目录的更大限制

第二步:启用web服务

第三步:在服务中停止IIS Admin Service 服务

开始 > 运行中输入:services.msc

在服务里找到 IIS Admin Service 停止

第四步:修改MetaBase.xml

开始 > 运行中输入 c:\windows\system32\inetsrv,找到 MeteBase.xml,先备份,在修改。(有的服务器不需要修改此文件便可以使用)

搜索 Location =”/LM/W3SVC/Filters/Compression/gzip”

仔细核对下代码:

替换成:

然后在保存MeteBase.xml,保存好后再启动IIS。这样Gzip压缩就启用成功了。

GZIP不需要什么很高深复杂的

你只需要在你的WEB SERVERS上开启即可,不同的服务器不一样的开启方法而以高世

下面帮你找一个IIS的开启方法

之一步:打开IIS,启用HTTP压缩服务

右击“网站”->“属性”,选择“服务”。在“HTTP压缩”框中选中“压缩应用程序文件”和“ 压缩静态文件”,按需要设置“临时目录”和“乱念并临时目录的更大限制”;

第二步:启用web服务

第三步:修改哗迹MetaBase.xml

开始 > 运行中输入 c:\windows\system32\inetsrv,找到 MeteBase.xml,先备份,在修改。(有的服务器不需要修改此文件便可以使用)

搜索 Location =”/LM/W3SVC/Filters/Compression/gzip”

修改 IIsCompressionScheme 项

将所有的 FALSE 改为 TRUE

然后在 IIsCompressionScheme 项下方的文件类型选择输入你的文档后缀就可以了

完事了,然后重起IIS

zlib的deflateInit2压缩的gzip没有gzip的压缩头呀,咋回事

LT_COMPRESSION,Z_DEFLATED, DEFAULT_WINDOWSIZE,DEFAULT_MEMLEVEL, Z_DEFAULT_STRATEGY);就可以了。

首先没有缺少宏定义,查头文件,换成deflateInit2(&c_stream, Z_DEFAULT_COMPRESSION,Z_DEFLATED, -15,8, Z_DEFAULT_STRATEGY);

但是,压缩后的内容没有gzip的压卖纤缩头睁枯!中早仿如果我自己在前面加一个gzip 的头(就是没有1F8B08),那么解压的时候校验码错误。

疯呀,谁能帮帮我

linux .deflate解压的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux .deflate解压,如何使用Linux解压.deflate文件,如何利用gzip压缩网页来提升网站浏览速度,zlib的deflateInit2压缩的gzip没有gzip的压缩头呀,咋回事的信息别忘了在本站进行查找喔。


数据运维技术 » 如何使用Linux解压.deflate文件 (linux .deflate解压)