這麼多年來,資料壓縮對我們來說是非常有用的。無論是在郵件中發送的圖片用的zip檔案還是在伺服器壓縮資料檔案,我們都可以讓下載更容易或者有效節約磁碟空間。某些壓縮格式有時允許我們以60%的比率(甚至更高)壓縮檔。下面我將會給大家示範如何用這些命令在Linux下面去壓縮檔或者目錄。我們將學習zip, tar, tar.gz和tar.bz2等壓縮格式的基本用法。這幾個是在Linux裡面常用的壓縮格式。
在我們探究這些用法之前,我想先跟大家分享一下使用不同壓縮格式的經驗。當然,我這裡講到的只是其中的一些用法,除我講到的之外,他們還有更多的地方值得我們探討。我已經意識到我需要瞭解兩到三種壓縮格式,才能更好的使用他們。zip格式是第一個需要瞭解的格式。因為它實際上已成為壓縮檔的標準選擇,而且它在windows上也能使用。我經常用zip格式壓縮那些需要共用給windows使用者的檔案。如果只是共用給linux使用者或者Mac使用者,那我偏向於選擇tar.gz格式。
ZIP
zip可能是目前使用得最多的文檔壓縮格式。它最大的優點就是在不同的作業系統平台,比如Linux, Windows以及Mac OS,上使用。缺點就是支援的壓縮率不是很高,而tar.gz和tar.gz2在壓縮率方面做得非常好。閑話少說,我們步入正題吧:
我們可以使用下面的命令壓縮一個目錄:
$ zip -r archive_name.zip directory_to_compress
下面是如何解壓一個zip文檔:
$ unzip archive_name.zip
TAR
Tar是在Linux中使用得非常廣泛的文檔打包格式。它的好處就是它只消耗非常少的CPU以及時間去打包檔案,它僅僅只是一個打包工具,並不負責壓縮。下面是如何打包一個目錄:
$ tar -cvf archive_name.tar directory_to_compress
如何解包:
$ tar -xvf archive_name.tar.gz
上面這個解包命令會將文檔解開在目前的目錄下面。當然,你也可以用這個命令來指定解包的路徑:
$ tar -xvf archive_name.tar -C /tmp/extract_here/
TAR.GZ
這種格式是我使用得最多的壓縮格式。它在壓縮時不會佔用太多CPU的,而且可以得到一個非常理想的壓縮率。使用下面這種命令去壓縮一個目錄:
$ tar -zcvf archive_name.tar.gz directory_to_compress
解壓縮:
$ tar -zxvf archive_name.tar.gz
上面這個解包命令將會將文檔解開在目前的目錄下面。當然,你也可以用這個命令來指定解包的路徑:
$ tar -zxvf archive_name.tar.gz -C /tmp/extract_here/
TAR.BZ2
這種壓縮格式是我們提到的所有方式中壓縮率最好的。當然,這也就意味著,它比前面的方式要佔用更多的CPU與時間。下面的命使用tar.bz2壓縮一個目錄。
$ tar -jcvf archive_name.tar.bz2 directory_to_compress
上面這個解包命令將會將文檔解開在目前的目錄下面。當然,你也可以用這個命令來指定解包的路徑:
$ tar -jxvf archive_name.tar.bz2 -C /tmp/extract_here/
資料壓縮是非常有用的,尤其是對於備份來說。所以,你現在應該考慮在你的備份指令碼中使用你在這裡學到的壓縮方式備份你基本的規則檔案以減小你備份檔案的大小。
過段時間之後,你就會意識到,在壓縮率與CPU佔用時間上會有一個平衡,你也要學會如何去權衡什麼時候你需要一個快但是壓縮率低,什麼時候需要一個壓縮率高但是CPU點用高的壓縮方式,然後你才能避免無謂的空間與時間。
原文地址:http://hi.baidu.com/huazhixu_127/blog/item/6deaeaede8c776ceb21cb14b.html