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