詳解Linux壓縮的多種方法
Linux經(jīng)過長(zhǎng)時(shí)間的發(fā)展,很多用戶都了解關(guān)于linux壓縮方面的要領(lǐng),這里我發(fā)表一下個(gè)人理解,和大家討論討論。linux壓縮工具有很多,下面列常用的壓縮工具及其產(chǎn)生文件的后綴:gzip/gunzip后綴名為.gz;compress/uncompress后綴名為.Z;zip/unzip后綴名為.zip;bzip2/bunzip2后綴名為.bz2;lha,后綴名為.lzh。Linux壓縮工具中最常用的包括gzip、zip和bzip2三種,下面分別講述這三種最常用的壓縮工具。
1.gzip命令
◆對(duì)文件進(jìn)行壓縮的目的有兩個(gè):一是可以減少存儲(chǔ)空間;二是通過網(wǎng)絡(luò)傳輸文件時(shí),可以減少傳輸?shù)木W(wǎng)絡(luò)開銷。gzip是Linux最常用的軟件壓縮工具,在Linux終端輸入mangzip命令降顯示gzip的幫助文檔。該命令的使用形式為:gzip[選項(xiàng)]壓縮或解壓縮的文件名。
◆下面給出使用gzip命令壓縮文件的例子,壓縮當(dāng)前目錄下的所有文件,并且顯示壓縮比,顯示已經(jīng)替代原來的文件:#gzip-v*,其中-v參數(shù)表明顯示壓縮比和文件名。需要注意的是,gzip只能對(duì)單個(gè)文件壓縮,不能像Winzip和Winrar一樣,可以將多個(gè)文件壓縮成一個(gè).zip文件或.rar文件。正因?yàn)槿绱耍琇inux才提供了tar命令,用于將若干文件或文件夾打包成一個(gè)文件,然后再壓縮成一個(gè).gz文件。接著是解壓縮文件的例子,對(duì)當(dāng)前目錄下所有壓縮的文件解壓縮,并列出詳細(xì)的信息:#gzip-dv*。
◆另外,顯示壓縮文件的內(nèi)容信息:可以用帶-l參數(shù)的gzip命令顯示gz文件的內(nèi)容。這只是顯示文件內(nèi)容,并不實(shí)際解壓縮文件:#gzip-l*。
◆此外,在tar命令中也可以直接嵌入gzip命令,從而直接將若干文件或文件夾處理成一個(gè).tar.gz文件。在這個(gè)處理過程中,系統(tǒng)先將若干文件或文件夾打包成.tar,然后將生成的.tar文件壓縮成.tar.gz文件。例如將當(dāng)前目錄下所有文件打包并壓縮成gong.tar.gz并顯示處理進(jìn)度:#tarcvfzgong.tar.gz./*。
2.zip/unzip命令
◆zip程序位于/usr/bin目錄中,可將文件壓縮成.zip文件以節(jié)省硬盤空間,而當(dāng)需要的時(shí)候又可將linux壓縮文件解開。unzip命令用于將壓縮文件解壓。zip命令的使用形式為:
◆zip[選項(xiàng)]壓縮后文件名待壓縮文件或文件夾,其中:參數(shù)選項(xiàng)表明要完成的操作類型,壓縮后的文件名是某個(gè)合法的文件名,其后綴為zip,待壓縮文件或文件夾指明須要進(jìn)行壓縮的文件或文件夾,可以是多個(gè)文件或文件夾。
◆下面給出使用該命令壓縮文件或文件夾的例子。例如將當(dāng)前目錄下的所有文件和文件夾全部壓縮成gong.zip壓縮文件,-r表示遞歸壓縮子目錄下所有文件:#zip-rgong.zip./*。用帶-v參數(shù)選項(xiàng)可以查看zip文件的內(nèi)容,這點(diǎn)類似于帶t參數(shù)選項(xiàng)的tar命令。只不過前者用于顯示壓縮的zip文件的內(nèi)容,后者用于顯示tar文件的內(nèi)容。與帶t參數(shù)選項(xiàng)的tar命令類似,帶v參數(shù)選項(xiàng)的zip命令實(shí)際上并不解壓縮文件,例如查看gong.zip文件的內(nèi)容:#zip-vgong.zip。
◆用帶-d參數(shù)選項(xiàng)的zip命令可以從zip壓縮文件中刪除某個(gè)文件,而使用帶-m的zip命令可以向zip壓縮文件添加某個(gè)文件。例如刪除壓縮文件中smart.txt文件:#zip-dgong.zipsmart.txt;向壓縮文件中g(shù)ong.zip中添加rpm_info.txt文件:#zip-mgong.zip./rpm_info.txt。
◆此外,unzip命令用于擴(kuò)展名為zip的壓縮文件的解壓縮,同時(shí),Windows下用壓縮軟件Winzip壓縮的文件在Linux系統(tǒng)下也可以用unzip命令解壓縮。unzip命令的語法如下:unzip[參數(shù)選項(xiàng)]壓縮文件名.zip。unzip命令的常用用法有:#unzipgong.zip(將gong.zip解壓縮到當(dāng)前目錄);#unzip-ntext.zip-d/tmp(解壓縮當(dāng)前目錄下的text.zip壓縮文件,-n參數(shù)選項(xiàng)指明不覆蓋原有文件,-d/tmp指明將文件解壓縮到/tmp目錄下);#unzip-vtext.zip(顯示當(dāng)前目錄下text.zip壓縮文件內(nèi)容)。
3.bzip2命令
◆bzip2是一個(gè)無損壓縮軟件,具有高質(zhì)量的數(shù)據(jù)壓縮能力。它能將文件壓縮到原來的10%到15%,而且壓縮速度和解壓縮速度都非常高,因此在Linux壓縮軟件中得到廣泛使用。
◆bzip2從命令行讀入文件名和參數(shù),每個(gè)文件都被名為“原始文件名.bz2”的壓縮文件替換。每個(gè)壓縮文件具有與原文件相同的修改時(shí)間和權(quán)限,如果可能的話,還具有相同的屬主,因此在解壓縮時(shí)這些特性將正確地恢復(fù)。
◆具體操作如下,例如,用bzip2命令壓縮當(dāng)前目錄下所有文件,用bunzip2-z*將獲得相同的效果:#bzip2*。再例如用bunzip2命令解壓縮當(dāng)前目錄下所有文件,其中有一個(gè)文件free.txt不是以bz2為后綴:#bunzip2。
【編輯推薦】
























