數(shù)據(jù)壓縮原理_第1頁(yè)
數(shù)據(jù)壓縮原理_第2頁(yè)
數(shù)據(jù)壓縮原理_第3頁(yè)
數(shù)據(jù)壓縮原理_第4頁(yè)
數(shù)據(jù)壓縮原理_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、AIX 上總有一種壓縮方式適合你當(dāng)今世界每天產(chǎn)生大量的數(shù)據(jù),有些數(shù)據(jù)我們需要進(jìn)行壓縮,壓縮數(shù)據(jù)的好處不言而喻:節(jié)省空間;方便傳輸;加密保護(hù)等等。很多壓縮工具應(yīng)運(yùn)而出,每種工具都有自己的特點(diǎn)。對(duì)于 AIX 平臺(tái)上的壓縮方法也很多 compress、pack、gzip、 pax、tar 等等。本文將首先簡(jiǎn)單介紹一下壓縮的基本原理然后詳細(xì)介紹 AIX 平臺(tái)的常用壓縮工具并針對(duì)它們各自的特色進(jìn)行比較,讓讀者對(duì)對(duì) AIX 平臺(tái)的壓縮有針對(duì)性的認(rèn)識(shí),從而能夠根據(jù)不通的需要選擇合適的壓縮工具。數(shù)據(jù)壓縮的原理數(shù)據(jù)壓縮是指在不丟失信息的前提下,縮減數(shù)據(jù)量以減少存儲(chǔ)空間,提高其傳輸、存儲(chǔ)和處理效率的一種技術(shù)方法。

2、或按照一定的算法對(duì)數(shù)據(jù)進(jìn)行重新組織,減少數(shù)據(jù)的冗余和存儲(chǔ)的空間。數(shù)據(jù)壓縮包括有損壓縮和無(wú)損壓縮。無(wú)損壓縮是可逆的;有損壓縮是不可逆的。計(jì)算機(jī)處理信息是以二進(jìn)制數(shù)(0 和 1)的形式表示的,壓縮軟件把二進(jìn)制信息中相同的字符串以特殊字符標(biāo)記起來(lái),從而實(shí)現(xiàn)縮小文件大小來(lái)達(dá)到壓縮的目的。壓縮的理論基礎(chǔ)是信息論。從信息的角度來(lái)看,壓縮就是去除掉信息中的冗余,即去除掉確定的或可推知的信息,而保留不確定的信息,也就是用一種更接近信息本質(zhì)的描述來(lái)代替原有的冗余的描述,這個(gè)本質(zhì)的東西就是信息量。數(shù)據(jù)壓縮的硬件和軟件工具也非常多,本文將針對(duì) AIX 平臺(tái)常見(jiàn)的幾種數(shù)據(jù)壓縮工具進(jìn)行介紹和比較并提供常用的示例進(jìn)行解說(shuō)

3、,希望您能從中選擇合適的壓縮工具進(jìn)行壓縮。AIX 平臺(tái)上,通常我們看到的 .Z .gz .z .ar .tar 后綴的文件都是壓縮文件。通過(guò) compress 可以生成 .Z 壓縮文件,通過(guò) compress、uncompress、gzip 可以解壓 .Z 格式的壓縮文件;通過(guò) gzip 可以生成 .gz 壓縮文件,通過(guò) gzip 可以解壓 .gz 格式的壓縮文件;通過(guò) pack 可以生成 .z 壓縮文件,通過(guò) unpack、gzip 可以解壓 .z 格式的壓縮文件;通過(guò) pax 可以生成 .ar 壓縮文件,通過(guò) pax 可以解壓 .ar 格式的壓縮文件;通過(guò) pax、tar 可以生成 .ta

4、r 壓縮文件,通過(guò) pax、tar、untar、可以解壓 .tar 格式的壓縮文件。圖 1 描述了各種類型文件的壓縮及解壓可以選擇的 AIX 工具。圖 1. 不同文件類型的壓縮及解壓下面我們將詳細(xì)介紹 AIX 上主要壓縮工具的特點(diǎn)已經(jīng)用法?;仨?yè)首compresscompress 是一個(gè)相當(dāng)古老的 UNIX 檔案壓縮指令,利用自適應(yīng)的 Lempel-Zev 編碼來(lái)減少文件大小。每一個(gè)被參數(shù) File 指定的原文件將被可能的壓縮文件所代替,壓縮后的檔案會(huì)加上一個(gè) .Z。 延伸檔名以區(qū)別未壓縮的檔案,壓縮后的檔案可以以 uncompress 解壓。值得注意的是執(zhí)行 compress 需要有相應(yīng)的權(quán)限

5、來(lái)替換文件。壓縮量依賴于輸入大小、由 Bits 變量指定的單位編碼的比特?cái)?shù)和公共子串的分布。典型地,源代碼或英文文本將減少 50% 到 60%。特點(diǎn) 如果調(diào)用壓縮進(jìn)程有適當(dāng)?shù)臋?quán)限,壓縮文件將保留與原文件相同的所有權(quán)、方式和修改時(shí)間。 如果指定的文件的路徑大于 1023 字節(jié),該命令不工作。 如果沒(méi)有指定文件,標(biāo)準(zhǔn)輸入將被壓縮到標(biāo)準(zhǔn)輸出。 如果壓縮沒(méi)有減少文件大小,將對(duì)標(biāo)準(zhǔn)錯(cuò)誤寫(xiě)一個(gè)消息而不替換原文件。 compress 命令的壓縮一般比利用哈夫曼編碼或自適應(yīng)哈夫曼編碼實(shí)現(xiàn)的壓縮更緊湊,計(jì)算時(shí)間更少,(哈夫曼編碼在 pack 命令中被使用)。 若要將數(shù)個(gè)檔案壓成一個(gè)壓縮檔,必須先將檔案 tar

6、起來(lái)再壓縮。常用示例1. $compress -v dsm.opt dsm.opt: Compression: 10.14% This file is replaced with dsm.opt.Z.該命令壓縮 dsm.opt 文件,-v 參數(shù)將程式執(zhí)行的訊息印在熒幕上。標(biāo)準(zhǔn)輸出顯示壓縮百分比為 14 。dsm.opt 文件被壓縮并重命名為 dsm.opt.Z。2. $compress -b 12 dsm.old該命令指定文件中公共子串的比特的最大值為 12。-b 參數(shù)設(shè)定共同字串?dāng)?shù)的上限,以位元計(jì)算,可以設(shè)定的值為 9 至 16 bits 。由于值越大,能使用的共同字串就 越多,壓縮比例就越

7、大,所以一般使用預(yù)設(shè)值 16 bit。3. $compress df dsm.opt.該命令將 dsm.opt.Z 解壓成 dsm.opt,若檔案已經(jīng)存在 -df 程式則會(huì)自動(dòng)覆蓋檔案。由于系統(tǒng)會(huì)自動(dòng)加入 .Z 為延伸檔名,所以該命令中 dsm.opt.Z 寫(xiě)成 dsm.opt 也會(huì)當(dāng)作 dsm.opt.Z 來(lái)處理。Z回頁(yè)首u(yù)ncompressCompress 的解壓也可以由 uncompress 來(lái)完成。uncompress 命令恢復(fù)由 compress 命令壓縮的原文件。uncompress 命令恢復(fù)由 compress 命令壓縮的原文件。每個(gè)由 File 參數(shù)指定的壓縮文件被除去而由展開(kāi)

8、后的副本所替換。展開(kāi)后的文件與壓縮的版本名字相同,但沒(méi)有 .Z 擴(kuò)展名。如果用戶有 root 用戶權(quán)限,展開(kāi)后的文件保留與原文件相同的所有者、組、方式和修改時(shí)間。如果用戶沒(méi)有 root 用戶權(quán)限,則文件保留相同的方式和修改時(shí)間,但獲取新的所有者和組。如果沒(méi)有指定文件,則標(biāo)準(zhǔn)輸入將展開(kāi)為標(biāo)準(zhǔn)輸出。示例$uncompress dsm.opt.Z該命令解壓 dsm.opt.Z 文件,并重命名為 dsm.opt?;仨?yè)首packpack 命令以壓縮格式存儲(chǔ)由 File 參數(shù)指定的文件。輸入文件由一個(gè)原文件名附加 .z 后綴的壓縮文件所代替。壓縮文件維持了同原始文件同樣的訪問(wèn)方式、訪問(wèn)和修改日期和所有者。

9、 輸入文件名包含不超過(guò) 253 個(gè)字節(jié),以允許有空間添加 .z 后綴。如果 pack 命令成功執(zhí)行,原始文件就被除去。如果 pack 命令不能創(chuàng)建更小的文件,它就停止處理并報(bào)告不能節(jié)省空間。(節(jié)省空間失敗通常發(fā)生于小文件或者是統(tǒng)一字符分布的文件。)空間節(jié)省的數(shù)額取決于輸入文件的大小和字符分布頻率。由于譯碼樹(shù)形成了每個(gè) .z 文件的第一部分,因此對(duì)于小于 3 個(gè)塊的文件不會(huì)節(jié)省空間。典型情況下,文本文件減少 25 到 40 。文件位置/usr/bin/pack特色 采用 Huffman 編碼來(lái)壓縮文件。因此 pack 命令始終只能壓縮小于 8MB 的文件。 pack 命令在下列任何一個(gè)條件下都不

10、能壓縮:文件已經(jīng)壓縮過(guò);輸入文件名超過(guò)了 253 個(gè)字節(jié);文件有鏈接;文件是目錄;文件不能打開(kāi);不能通過(guò)壓縮節(jié)省存儲(chǔ)塊;名稱為 File.z 的文件已經(jīng)存在;.z 文件不能創(chuàng)建;處理中發(fā)生 I/O 錯(cuò)誤。示例1. $pack dsm.sys dsm.sys.ini2. pack: dsm.sys: This file is reduced in size 47.3%. pack: dsm.sys.ini: This file is reduced in size 47.5%.該命令壓縮名為 dsm.sys 和 dsm.sys.ini 的文件并顯示修改的文件名。壓縮的版本重命名為 dsm.opt

11、.z 和 dsm.sys.z。 此 pack 命令顯示每個(gè)壓縮文件的文件大小減小百分比。3. $ pack - dsm.sys4. pack: dsm.sys: This file is reduced in size 47.3%. 5. The file changed from 6296 to 3315 bytes. 6. The Huffman tree has 11 levels below the root. 7. There are 49 distinct bytes in input. 8. The dictionary overhead is 67 bytes. 9. The

12、effective entropy is 4.21 bits per byte. The asymptotic entropy is 4.13 bits per byte.該命令壓縮名為 dsmwebcl.log 的文件并顯示該文件的統(tǒng)計(jì)信息。回頁(yè)首u(yù)npackunpack 命令展開(kāi)由pack命令創(chuàng)建的文件。對(duì)每個(gè)指定的文件,unpack 命令搜索名為 File.z 的文件。如果這個(gè)文件是壓縮文件,則 unpack 命令用其展開(kāi)的版本來(lái)替換它。unpack 命令通過(guò)從 File 除去 .z 后綴來(lái)給新的文件命名。如果用戶有 root 用戶權(quán)限,則新的文件具有和原文件一樣的訪問(wèn)方式、訪問(wèn)和修改時(shí)

13、間、所有者和組。如果用戶沒(méi)有 root 用戶權(quán)限,則該文件保留同樣的訪問(wèn)方式、訪問(wèn)時(shí)間和修改時(shí)間,但獲取新的所有者和組。unpack 命令僅對(duì)以 .z 結(jié)束的文件進(jìn)行操作。結(jié)果,當(dāng)指定不以 .z 結(jié)束的文件名時(shí),unpack 添加該后綴并搜索目錄以尋找?guī)в羞@種后綴的文件名。文件位置/usr/bin/unpack特色 如果正在解壓的文件有鏈接,unpack 命令會(huì)把警告寫(xiě)到標(biāo)準(zhǔn)錯(cuò)誤。與其來(lái)源的壓縮文件比較,新解壓的文件有不同的索引節(jié)點(diǎn)。但是,任何其它鏈接到壓縮文件原索引節(jié)點(diǎn)的文件仍然存在,仍然處于壓縮狀態(tài)。 以下情況則文件不能解壓:文件名(除 .z 文件之外)多于 253 字節(jié);文件不能打開(kāi);文

14、件不是壓縮文件;有展開(kāi)文件名的文件已存在;不能創(chuàng)建被解壓的文件。示例$ unpack dsm.sys.z dsm.sys.ini unpack: dsm.sys: This file is now unpacked. unpack: dsm.sys.ini: This file is now unpacked.該命令展開(kāi)了壓縮文件 dsm.sys.z 和 dsm.sys.ini.z,并用名為 dsm.sys 和 dsm.sys.ini 的文件來(lái)替換它們。unpack 命令的文件名可以帶有或不帶 .z 后綴?;仨?yè)首pax抽取、寫(xiě)以及列出歸檔文件成員;復(fù)制文件和目錄層次結(jié)構(gòu)。 -r 和 -w 標(biāo)志

15、指定了歸檔操作的類型。通過(guò) pax 主要可以實(shí)現(xiàn) 4 大功能包括:列出已歸檔文件的成員文件(列表方式);使用 -r 標(biāo)志抽取歸檔文件(讀取方式);使用 -w 標(biāo)志寫(xiě)歸檔文件(寫(xiě)方式)用 -r 和 -w 標(biāo)志復(fù)制文件(復(fù)制方式)。pax 命令應(yīng)該是用于系統(tǒng)轉(zhuǎn)儲(chǔ)和 2 GB 以上的映像的首選存檔方法。 pax 命令還可以用于查看和修改 tar 和 cpio 格式的文件,下面的示例中將會(huì)給出相應(yīng)解釋。文件位置/usr/bin/pax特點(diǎn) 系統(tǒng)缺省支持 64- 位 POSIX- 定義的數(shù)據(jù)格式。目的是允許歸檔大文件,例如 dump 文件。歸檔文件大小可以大于或等于 8 GB 支持長(zhǎng)用戶名(或組名) 支

16、持大于 2097151 的超大 UID/GID 支持長(zhǎng)路徑名或鏈接名 用 -o 標(biāo)志可以修改歸檔算法注意事項(xiàng) 在讀取或復(fù)制方式下,如果需要中間目錄來(lái)抽取歸檔成員,pax 執(zhí)行與 mkdir 子例程相同的操作,中間目錄作為路徑參數(shù),值 S_IRWXU 作為方式參數(shù)。 如果沒(méi)有任何指定的模式或文件操作數(shù)與至少一個(gè)文件或歸檔成員匹配,pax 為每個(gè)不匹配的模式或文件操作數(shù)寫(xiě)一條診斷消息到標(biāo)準(zhǔn)錯(cuò)誤,并以錯(cuò)誤狀態(tài)退出。 遍歷目錄過(guò)程中,pax 將檢測(cè)無(wú)限循環(huán);例如,進(jìn)入一個(gè)作為最后訪問(wèn)文件的祖先的先前訪問(wèn)的目錄。在檢測(cè)到無(wú)限循環(huán)時(shí),pax 將診斷消息寫(xiě)到標(biāo)準(zhǔn)錯(cuò)誤然后終止。 當(dāng) pax 處于讀取方式或列表

17、方式,使用 -x pax 歸檔格式和文件名、鏈接名、所有者名或任何其他擴(kuò)展的頭記錄中的字段,這些字段無(wú)法從 pax UTF8 編碼集格式轉(zhuǎn)換到當(dāng)前編碼集和語(yǔ)言環(huán)境,pax 寫(xiě)診斷消息到標(biāo)準(zhǔn)錯(cuò)誤,如 -o invalid= 選項(xiàng)所描述的那樣處理文件,然后處理歸檔中的下一個(gè)文件。 對(duì)于 AIX 5.3,在缺省情況下 pax 命令將忽略擴(kuò)展屬性。-U 選項(xiàng)通知 pax 來(lái)歸檔或恢復(fù)擴(kuò)展屬性,它包括 ACL。-pe 選項(xiàng)將保留 ACL。指定 -pe 選項(xiàng)時(shí),如果 pax 無(wú)法保留 ACL,診斷消息將寫(xiě)入標(biāo)準(zhǔn)錯(cuò)誤,但是不會(huì)刪除抽取的文件。將返回非零退出代碼。pax 歸檔文件中的擴(kuò)展屬性條目需要新的記錄類

18、型。示例1. $pax -wf mytest.ar -x pax test1該命令將在當(dāng)前目錄下為目錄 test1 創(chuàng)建 pax 格式的歸檔 mytest.ar。使用 -w 標(biāo)志來(lái)寫(xiě)歸檔文件,-x 參數(shù)指定輸出歸檔格式。pax 有 3 中輸出格式:pax、copyio、ustar。pax 為缺省數(shù)據(jù)交換格式。特定字符歸檔文件的格式的缺省分塊值是 10240。支持以 512 遞增的從 512 到 32256 的分塊值;cpio 擴(kuò)展 cpio 交換格式。特定字符歸檔文件的格式的缺省分塊值是 5120。支持以 512 遞增的從 512 到 32256 的分塊值 ; ustar 擴(kuò)展 tar 交換格

19、式。特定字符歸檔文件的格式的缺省分塊值是 10240。支持以 512 遞增的從 512 到 32256 的分塊值。值得注意的是:pax 并不一定會(huì)減小目錄的大小。2. $ pax -rvf bin.ar -o delete=path3. PAX format archive 4. bin 5. bin/tsmstats.lck 6. bin/dsmcert.kdb.z 7. bin/dsm.tar 8. bin/dsmcert.crl.Z 9. bin/dsm.opt bin/dsm.sys.ar該命令將抽取 bin.ar,抽取過(guò)程中要忽略 pax 格式的歸檔的路徑名。當(dāng)歸檔文件中包含 ASC

20、II 碼,抽取到 z(VM/ESA)操作系統(tǒng)時(shí)為了避免出現(xiàn)亂碼現(xiàn)象我們需要在添加其他的標(biāo)志來(lái)進(jìn)行抽取。10. $ pax -r -f myfile1.pax -o from=ISO8859-1,to=IBM-1047該命令將抽取 myfile1.pax 文件,該命令保證了歸檔文件中的 ASCII 碼解壓到 zVM/ESA)操作系統(tǒng)的正常使用。11. $ pax -rw bin newdir該命令將 bin 目錄層次結(jié)構(gòu)復(fù)制到 newdir 中同時(shí)保留了源文件的大多數(shù)屬性,如硬連接數(shù)和文件訪問(wèn)次數(shù)等。如果 newdi 目錄中包含相同的文件或目錄那么該命令不會(huì)覆蓋原有的目錄結(jié)構(gòu),該命令會(huì)提示類似下

21、面的信息:12. $ pax: bin : The file/directory exists and will not be overwritten.回頁(yè)首tartar 是一個(gè)已移植到 Linux 中的經(jīng)典 UNIX 命令。 tar 是 tape archive(磁帶歸檔)的縮寫(xiě),最初設(shè)計(jì)用于將文件打包到磁帶上,現(xiàn)在也可用于其它存儲(chǔ)介質(zhì)。使用 tar 可以打包整個(gè)目錄樹(shù),這使得它特別適合用于備份。歸檔文件可以全部還原,或從中展開(kāi)單獨(dú)的文件和目錄。備份可以保存到基于文件的設(shè)備或磁帶設(shè)備上。文件可以在還原時(shí)重定向,以便將它們重新放到一個(gè)與最初保存它們的目錄(或系統(tǒng))不同的目錄(或系統(tǒng))。 tar

22、 是與文件系統(tǒng)無(wú)關(guān)的。它可以使用在 ext2、ext3、 jfs、Reiser 和其他文件系統(tǒng)上。單獨(dú)使用時(shí),生成具有 .tar 擴(kuò)展名的文件。當(dāng)與 Gzip 結(jié)合用于數(shù)據(jù)壓縮時(shí),生成的文件擴(kuò)展名可能是 .tgz、.tar.gz 或與 compress 結(jié)合用于數(shù)據(jù)壓縮時(shí),生成的文件擴(kuò)展名則是 .tar.Z。tar 命令通過(guò)將文件寫(xiě)入歸檔存儲(chǔ)介質(zhì)或?qū)⑽募慕橘|(zhì)中取回,來(lái)處理歸檔。 由 tar 命令使用的文件通過(guò) File 參數(shù)來(lái)表示。如果 File 參數(shù)引用一個(gè)目錄,則引用該目錄并遞歸引用該目錄下全部的文件和目錄。tar 命令有兩組標(biāo)志:必需標(biāo)志和可選標(biāo)志。必需標(biāo)志控制 tar 命令的操作,包

23、括 -c、-r、-t、-u 和 -x 標(biāo)志。要執(zhí)行 tar 命令至少要選擇一個(gè)必需標(biāo)志。選擇了必需標(biāo)志后,您可以選擇一個(gè)可選標(biāo)志,但可選標(biāo)志對(duì)控制 tar 命令不是必需的。文件位置/dev/rmt0 指定缺省磁帶設(shè)備。/bin/tar 指定 tar 命令的符號(hào)鏈接。/usr/bin/tar 包含 tar 命令。注意事項(xiàng) 由于在 tar 命令中對(duì)頭塊空間的限制,當(dāng)恢復(fù)到某些系統(tǒng)時(shí),大于 65,535 的用戶號(hào)(UID)和組標(biāo)識(shí)號(hào)(GID)將毀壞。大小約束只影響所有權(quán)和許可權(quán)而不對(duì)數(shù)據(jù)造成損害。 ustar 頭格式允許文件大到 8 GB。因此,tar 命令支持歸檔最大 8 GB 的文件。 tar

24、不保留任何稀疏分配的文件的稀疏屬性。任何在恢復(fù)前原是稀疏的文件,將按文件大小在文件系統(tǒng)內(nèi)分配其所有空間。 tar 打包不一定能夠壓縮文件大小。示例1. $tar c myfile1該命令將文件 myfile1 寫(xiě)到缺省磁帶機(jī)上新的歸檔中(例如 /dev/rmt0)。通常 AIX 會(huì)連接一些磁帶,如果沒(méi)有物理磁帶或者缺省磁帶沒(méi)有配好 tar 命令就會(huì)打印出類似下面的錯(cuò)誤信息2. $tar: /dev/rmt0: There is a request to a device or address that does not exist.為了避免上述情況發(fā)生通常建議用戶在使用 tar 命令時(shí)指定 -

25、f Archive,使用 Archive 變量表示要讀或?qū)懙臍w檔。3. $tar cvf myfile1.tar myfile1該命令將文件 myfile1 在當(dāng)前目錄下歸檔,歸檔文件名為 myfile1.tar,同時(shí)處理每個(gè)文件時(shí)列出它們的名稱。有時(shí)候我們只需要某個(gè)類型的文件并不想打包整個(gè)文件夾,可以通過(guò)使用 tar 命令時(shí)指定 -L InputList 實(shí)現(xiàn)。-L 選項(xiàng)的 Inputlist 參數(shù)是一個(gè)文件名稱,該名稱列出需要?dú)w檔的文件和目錄。4. $tar cvf /usr/log.tar L log_list該命令歸檔 log_list 文件中列出的文件和目錄,歸檔文件到 /usr/l

26、og.tar。這里的 log_list 列表文件可以通過(guò)一下命令獲得:5. $ls *.log log.lstTar 文件的恢復(fù)也是通過(guò) tar 命令來(lái)完成的。6. $tar xf myfile1.tar該命令恢復(fù)歸檔文件 myfile1.tar 到當(dāng)前目錄。有時(shí)我們想先看看 tar 包中有那些文件,然后再?zèng)Q定是否進(jìn)行解 tar,通過(guò) -t 標(biāo)志可以按照文件在歸檔中的順序列出文件。7. $tar vtf myfile1.tar該命令列出 myfile1.tar 磁盤(pán)歸檔文件中各文件的名稱。值得注意的是文件可能會(huì)多次列出。有時(shí)候我們會(huì)遇到 gzip 格式的文件,通過(guò) -z 參數(shù) tar 同樣可以

27、解壓 gzip 格式的文件。8. $tar zxvfmyfile1.tar.gz該命令解壓 myfile1.tar.gz 文件到當(dāng)前目錄?;仨?yè)首GZIP gzip 最早由 Jean-loup Gailly 和 Mark Adler 創(chuàng)建,用于 UNIX 系統(tǒng)的文件壓縮。Gzip 是一種無(wú)損失的數(shù)據(jù)壓縮格式。gzip(也稱 zip 或 zlib)所使用的算法是開(kāi)源、無(wú)專利的 LZ77(Lempel-Ziv 1977)算法的變體。該算法尋找輸入數(shù)據(jù)內(nèi)的重復(fù)字符串。二次出現(xiàn)的字符串由一個(gè)指向前一字符串的指針(以對(duì)的形式 - 距離和長(zhǎng)度)代替。其中,距離限定為 32 KB,長(zhǎng)度限定為 258 字節(jié)。如

28、果字符串沒(méi)有在這前 32 KB 內(nèi)出現(xiàn),它就會(huì)作為文字字節(jié)序列發(fā)出(這里所說(shuō)的字符串 定義為隨意字節(jié)序列,并不僅限于可打印的字符)。我們?cè)?Linux 中經(jīng)常會(huì)用到后綴為 .gz 的文件,它們就是 GZIP 格式的?,F(xiàn)今已經(jīng)成為 Internet 上使用非常普遍的一種數(shù)據(jù)壓縮格式,或者說(shuō)一種文件格式。實(shí)例1. $gzip *2. gzip: dsmcert.crl.Z already has .Z suffix unchanged 3. gzip: dsmerror.log.gz already has .gz suffix - unchanged gzip: dsmwebcl.log.z a

29、lready has .z suffix - unchanged該命令壓縮把當(dāng)前目錄下的每個(gè)文件壓縮成 .gz 文件。當(dāng)前目錄下已經(jīng)存在的壓縮文件,例如 .Z .z .gz 后綴文件,gzip 將不對(duì)它們進(jìn)行操作;對(duì) .ar .tar 作為后綴的文件責(zé)仍然可能進(jìn)行壓縮。4. $gzip dv *5. rootaixsvt01 /usr/./bin $ gzip -dv * 6. cert.arm.gz: 26.6% - replaced with cert.arm 7. dsmcert.crl.Z: 18.7% - replaced with dsmcert.crl dsmcert.kdb.z

30、: 66.7% - replaced with dsmcert.kdb該命令把當(dāng)前目錄下每個(gè)壓縮的文件解壓,并列出詳細(xì)的信息。該命令可以解壓當(dāng)前目錄下多種壓縮格式的壓縮文件,例如 .Z .z .gz 后綴的壓縮文件。8. $ gzip -l *.gz9. compressed uncompr. ratio uncompressed_name 10. 631 824 26.6% cert.arm 11. 44 12 -16.6% 675 836 22.8% (totals)該命令詳細(xì)顯示當(dāng)前目錄下 .gz 后綴壓縮的文件的信息但是并不解壓。12. gzip myfile.tar該命令壓縮 tar 備份文件 myfile.tar,此時(shí)壓縮文件的擴(kuò)展名為 .tar.gz?;仨?yè)首zcatzcat 命令

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論