新聞中心
在使用Linux系統(tǒng)過程中,我們經(jīng)常會遇到.deflate文件。這種文件是一種壓縮文件,用于節(jié)約存儲空間和傳輸時間。但是,當(dāng)我們需要訪問這些文件時,需要先解壓縮它們。本文將探討如何使用Linux解壓縮.deflate文件。

什么是.deflate文件?
.deflate是一種基于LZ77算法的壓縮算法。它可以將數(shù)據(jù)壓縮到非常小的空間,從而節(jié)省存儲空間和網(wǎng)絡(luò)傳輸時間。.deflate文件通常用于Web和文件傳輸,比如Gzip、Zip等文件格式。
如何解壓.deflate文件?
Linux系統(tǒng)內(nèi)置了.deflate文件的解壓功能。我們可以使用以下命令在Linux系統(tǒng)中解壓.deflate文件:
“`
$ gzip -d filename.deflate
“`
其中,”-d”參數(shù)表示解壓縮,”filename.deflate”是要解壓縮的.deflate文件的名稱。使用這個命令后,解壓縮后的文件會在原文件的基礎(chǔ)上添加”.gz”擴(kuò)展名。
如果你需要解壓縮多個.deflate文件,你可以使用以下命令:
“`
$ gzip -d *.deflate
“`
這個命令將解壓縮所有的.deflate文件,不管它們的名稱如何。
如果你希望解壓縮后的文件的名稱與原文件相同,可以使用以下命令:
“`
$ gzip -c filename.deflate > filename
“`
這個命令將把解壓縮后的文件輸出到標(biāo)準(zhǔn)輸出,然后重定向到一個新文件。新文件的名稱將與原文件相同。
如何查看.deflate文件的內(nèi)容?
在解壓縮.deflate文件之前,我們可能需要查看它們的內(nèi)容。在Linux系統(tǒng)中,我們可以使用以下命令來查看.deflate文件的內(nèi)容:
“`
zcat filename.deflate
“`
這個命令將.deflate文件的內(nèi)容輸出到標(biāo)準(zhǔn)輸出。如果你需要將輸出保存到一個文件中,你可以使用以下命令:
“`
zcat filename.deflate > output_filename
“`
這個命令將.deflate文件的內(nèi)容輸出到標(biāo)準(zhǔn)輸出,并將輸出重定向到一個新文件中。
如何壓縮文件為.deflate格式?
如果你想將文件壓縮到.deflate格式,你可以使用以下命令:
“`
$ gzip filename
“`
這個命令會將文件壓縮到.deflate格式,并在原文件的基礎(chǔ)上添加”.gz”擴(kuò)展名。
如果你需要將多個文件壓縮到.deflate格式,你可以使用以下命令:
“`
$ gzip file1 file2 file3
“`
這個命令將同時壓縮file1、file2和file3三個文件,并將它們壓縮成.deflate格式。
使用Linux解壓縮.deflate文件非常簡單。使用gzip命令,你可以快速地解壓縮.deflate文件并查看它們的內(nèi)容。此外,使用gzip命令還可以將文件壓縮為.deflate格式,以便在網(wǎng)絡(luò)上傳輸或存儲時節(jié)省空間和時間。希望這個簡單的教程可以幫助你更好地處理.deflate文件。
相關(guān)問題拓展閱讀:
- 如何利用gzip壓縮網(wǎng)頁來提升網(wǎng)站瀏覽速度
- zlib的deflateInit2壓縮的gzip沒有g(shù)zip的壓縮頭呀,咋回事
如何利用gzip壓縮網(wǎng)頁來提升網(wǎng)站瀏覽速度
之一步:打開IIS,啟用HTTP壓縮服務(wù)
右擊”網(wǎng)站”->”屬帆數(shù)性”,選擇”服務(wù)”。在”HTTP壓縮”框中選中”壓縮應(yīng)用程序文件”和” 壓縮靜態(tài)文件”,按需要設(shè)置”臨時目錄”和”臨時目錄的更大限制”;
第二步:啟用web服務(wù)
第三步:修改MetaBase.xml
開始 > 運行中輸入 c:\windows\system32\inetsrv,找到 MeteBase.xml,先備份,在修改。(有的服務(wù)器不需要修改此文件便可以使用)
搜索 Location =”/LM/W3SVC/Filters/Compression/gzip”
仔細(xì)核對下代碼:
替換成:
修改好后,在服務(wù)中停止IIS Admin Service 服務(wù).
然后在保存MeteBase.xml,保雀者存好后再啟動IIS。這樣Gzip壓縮就啟用成功了。
純Tomcat 服務(wù)器
如果您的 WEB 應(yīng)用程序是跑在 Tomcat
服務(wù)器下的,而且直接使用 Tomcat 所提供的 HTTP 服務(wù),那建議你馬上動手,因為實在是太簡單了,你只需要在 server.xml
配置文件中給 HTTP Connector 增加一個 compression 的參數(shù)值為 on 并重啟 Tomcat
服務(wù)器就立刻生效,配置如下:
Tomcat
采用的是 HTTP/1.1 的 GZIP 壓縮協(xié)議,它會根據(jù)瀏覽器送過來的請求中的 accept-encoding 值是否包含 gzip
來判斷瀏覽器是否支持 gzip 壓縮協(xié)議,如果瀏覽器支持就啟用 gzip 壓縮,否則就不進(jìn)行任漏塵卜何壓縮處理。Tomcat 中還有另外一個參數(shù)
compressableMimeType,這個參數(shù)可以用來指定壓縮哪種類型的內(nèi)容,例如可以指定該配置值為:text/返穗html,text
/plain ,則只壓縮 contentType 為 text/html 和 text/plain 的頁面,不過您更好也將 css 和
javascript 文件也算在壓縮的文件類型中,因為這兩兄和者的壓縮效果也十分的明顯。
Apache 服務(wù)器
在
apache 1.3 版本,大家常用 mod_gzip 對輸出內(nèi)容進(jìn)行壓縮,現(xiàn)在主流的瀏覽器都支持 gzip 解壓縮。在 apache2
下,這個模塊換名為 mod_deflate,對應(yīng)的模塊文件名是 mod_deflate.so。mod_gzip 本文不做介紹,下面描述一下在
Apache 2 下如何啟用并配置 mod_deflate 模塊。默認(rèn)安裝的 Apache 不管是 Windows 還是
Linux/Unix,都是不啟用該模塊的, Linux/Unix 下甚至不帶該模塊,你需要手工編譯這個模塊。
下面我們分別介紹在 Windows 和 Linux 操作系統(tǒng)下如何啟用并配置 mod_deflate 模塊。
在 Windows 下采用安裝程序安裝的 Apache 服務(wù)器已經(jīng)帶有 deflate 所需要的模塊 mod_deflate.so 和 mod_headers.so,我們只需要在 httpd.conf 配置文件中啟用并進(jìn)行相關(guān)的配置即可,配置如下:
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 操作系統(tǒng),如果你沒有在編譯安裝的過程中將所需要的兩個模塊 mod_deflate 和 mod_headers
編譯進(jìn)去的話,那就稍微有點麻煩,首先我們先看如何在編譯安裝 Apache 過程中也同時編譯這兩個模塊,請在執(zhí)行 configure
程序時增加兩個參數(shù)分別是:
# ./configure –enable-deflate –enable-headers
這樣在編譯完 Apache 后就可以直接在 httpd.conf 中啟用并配置 deflate 模塊了,配置的方法跟 Windows 平臺下是相同的。
如
果說您的 Apache 已經(jīng)在運行了,不想再重新編譯一次,那也可以選擇只編譯 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 參數(shù)。
IIS 服務(wù)器
微
軟的 IIS 服務(wù)器同樣也是目前用得最多的 WEB 服務(wù)器之一,而且用來運行 ASP 頁面也是必不可少的。IIS6,iis本身支持 gzip
壓縮,IIS5就比較費勁了,你可以找一些第三方的組件來處理,例如 httpzip,接下來我們介紹如何在 IIS6 中啟用壓縮功能。
打開 Internet 信息服務(wù)(IIS)管理器,右擊”網(wǎng)站”->”屬性”,選擇”服務(wù)”。在 “HTTP壓縮” 框中選中 “壓縮應(yīng)用程序文件” 和 “壓縮靜態(tài)文件”,按需要設(shè)置 “臨時目錄” 和 “臨時目錄的更大限制”,
設(shè)置網(wǎng)站屬性
接
下來配置 gzip 組件,在 Internet 信息服務(wù)(IIS)管理器,點擊 “Web 服務(wù)擴(kuò)展”->”增加一個新的 Web
服務(wù)擴(kuò)展…”,在 “新建 Web 服務(wù)擴(kuò)展” 框中輸入擴(kuò)展名 “HTTP Compression”,添加 “要求的文件” 為
C:\WINDOWS\system32\inetsrv\gzip.dll,選中 “設(shè)置擴(kuò)展?fàn)顟B(tài)為允許”,如下圖所示:
設(shè)置 Web 服務(wù)擴(kuò)展,新建 Web 服務(wù)擴(kuò)展
還沒完呢,我們還需要修改一個配置文件,修改之前請先停止 IIS 服務(wù),打開 C:\Windows\System32\inetsrv\MetaBase.xml,這個文件很大,找到下面一段信息:
增加一些要進(jìn)行壓縮的文件后綴,其中 HcFileExtensions 是靜態(tài)文件的擴(kuò)展名,增加 js 和 css 等;HcScriptFileExtensions 為動態(tài)文件的擴(kuò)展名,增加 aspx,保存后啟動 IIS 即可生效。
最
后我們介紹如何來測試前面所做的工作是否起效,你可能會覺得很奇怪,配置好了,用瀏覽器打開頁面正常,查看頁面源碼,內(nèi)容并沒有變化,大小也跟原來一樣,
怎么回事呢?這是因為瀏覽器已經(jīng)把內(nèi)容解壓了的結(jié)果,有兩個方法來判斷壓縮是否生效:之一,查看 WEB 服務(wù)器的日志,不管是 Apache 或者是
IIS,二者的訪問日志格式都差不多是下面這種格式:
127.0.0.1 – – “GET /manual/style/css/manual.css HTTP/1.1”
最
后兩個數(shù)字分別是 HTTP 的結(jié)果碼(200 表示 OK),19351
表示的是響應(yīng)內(nèi)容的大小,把這個大小跟你在瀏覽器上查看源碼的大小比較一下就可以知道是否生效。另外一種方法就是自己寫一個 HTTP
客戶端的小程序并設(shè)置 Accept-Encoding 的值為 gzip,deflate,由這個程序去請求服務(wù)器端的某個 URL
地址,然后打印出響應(yīng)的內(nèi)容,如果是一堆亂碼,恭喜你,配置成功。下面是一段 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();
}
結(jié)論
以
上是目前比較流行的兩個 WEB 服務(wù)器軟件以及 Tomcat 服務(wù)器對于頁面壓縮的配置方法;其他的一些 J2EE
應(yīng)用服務(wù)器如果不支持這個功能的話可以考慮利用過濾器(Servlet Filter)來進(jìn)行處理,具體的代碼以及配置方法可以參考 Resin
服務(wù)器所提供的文檔。但是有一點需要提醒各位讀者的是,本文介紹的訪問只是在服務(wù)器本身的響應(yīng)速度已經(jīng)足夠優(yōu)化的情況下進(jìn)行,也就是說在帶寬成為系統(tǒng)瓶頸
的時候才來考慮該方案。
之一步:打開IIS,啟用HTTP壓縮服務(wù)
右擊棚液”網(wǎng)站”->”屬性”,選擇”服務(wù)”。在”HTTP壓縮”框中選中”壓縮應(yīng)用程序文件”和” 壓縮靜態(tài)文件毀和畝”,按需要設(shè)置”臨時目錄”和”臨時目錄的更大限制
第二步:啟用web服務(wù)
第三步:在服務(wù)中停止IIS Admin Service 服務(wù)
開始 > 運行中輸入:services.msc
在服務(wù)里找到 IIS Admin Service 停止
第四步:修改MetaBase.xml
開始 > 運行中輸入 c:\windows\system32\inetsrv,找到 MeteBase.xml,先備份,在修改。(有的服務(wù)器不需要修改此文件便可以使用)
搜索 Location =”/LM/W3SVC/Filters/Compression/gzip”
仔細(xì)核對下代碼:
替換成:
然后在保存MeteBase.xml,保存好后再啟動IIS。這樣Gzip壓縮就啟用成功了。
GZIP不需要什么很高深復(fù)雜的
你只需要在你的WEB SERVERS上開啟即可,不同的服務(wù)器不一樣的開啟方法而以高世
下面幫你找一個IIS的開啟方法
之一步:打開IIS,啟用HTTP壓縮服務(wù)
右擊“網(wǎng)站”->“屬性”,選擇“服務(wù)”。在“HTTP壓縮”框中選中“壓縮應(yīng)用程序文件”和“ 壓縮靜態(tài)文件”,按需要設(shè)置“臨時目錄”和“亂念并臨時目錄的更大限制”;
第二步:啟用web服務(wù)
第三步:修改嘩跡MetaBase.xml
開始 > 運行中輸入 c:\windows\system32\inetsrv,找到 MeteBase.xml,先備份,在修改。(有的服務(wù)器不需要修改此文件便可以使用)
搜索 Location =”/LM/W3SVC/Filters/Compression/gzip”
修改 IIsCompressionScheme 項
將所有的 FALSE 改為 TRUE
然后在 IIsCompressionScheme 項下方的文件類型選擇輸入你的文檔后綴就可以了
完事了,然后重起IIS
zlib的deflateInit2壓縮的gzip沒有g(shù)zip的壓縮頭呀,咋回事
LT_COMPRESSION,Z_DEFLATED, DEFAULT_WINDOWSIZE,DEFAULT_MEMLEVEL, Z_DEFAULT_STRATEGY);就可以了。
首先沒有缺少宏定義,查頭文件,換成deflateInit2(&c_stream, Z_DEFAULT_COMPRESSION,Z_DEFLATED, -15,8, Z_DEFAULT_STRATEGY);
但是,壓縮后的內(nèi)容沒有g(shù)zip的壓賣纖縮頭睜枯!中早仿如果我自己在前面加一個gzip 的頭(就是沒有1F8B08),那么解壓的時候校驗碼錯誤。
瘋呀,誰能幫幫我
linux .deflate解壓的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux .deflate解壓,如何使用Linux解壓.deflate文件,如何利用gzip壓縮網(wǎng)頁來提升網(wǎng)站瀏覽速度,zlib的deflateInit2壓縮的gzip沒有g(shù)zip的壓縮頭呀,咋回事的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
文章題目:如何使用Linux解壓.deflate文件(linux.deflate解壓)
當(dāng)前地址:http://www.dlmjj.cn/article/djegjei.html


咨詢
建站咨詢
