這么多年來,數(shù)據(jù)壓縮對我們來說是非常有用的。無論是在郵件中發(fā)送的圖片用的zip文件 還是在服務(wù)器壓縮數(shù)據(jù)文件,我們都可以讓下載更容易或者有效的節(jié)約磁盤空間。某些壓縮格式有時允許我們以60%的比率(甚至更高)壓縮文件。下面我將會給 大家演示如何用這些命令在Linux下面去壓縮文件或者目錄。我們將學(xué)習(xí)zip, tar, tar.gz和tar.bz2等壓縮格式的基本用法。這幾個是在Linux里面常用的壓縮格式。
在我們探究這些用法之前,我想先跟大家分享一下使用不同壓縮格式的經(jīng)驗。當(dāng)然,我這里講到的只是其中的一些用法,除我講到的之外,他們還有更多的地 方值得我們探討。我已經(jīng)意識到我需要了解兩到三種壓縮格式,才能更好的使用他們。zip格式是第一個需要了解的格式。因為它實際上已成為壓縮文件的標(biāo)準(zhǔn)選 擇,而且它在windows上也能使用。我經(jīng)常用zip格式壓縮那些需要共享給windows用戶的文件。如果只是共享給linux用戶或者Mac用戶, 那我偏向于選擇tar.gz格式。
ZIP
zip可能是目前使用得最多的文檔壓縮格式。它最大的優(yōu)點就是在不同的操作系統(tǒng)平臺,比如Linux, Windows以及Mac OS,上使用。缺點就是支持的壓縮率不是很高,而tar.gz和tar.gz2在壓縮率方面做得非常好。閑話少說,我們步入正題吧:
我們可以使用下列的命令壓縮一個目錄:
# zip -r archive_name.zip directory_to_compress
下面是如果解壓一個zip文檔:
TAR
Tar是在Linux中使用得非常廣泛的文檔打包格式。它的好處就是它只消耗非常少的CPU以及時間去打包文件,他僅僅只是一個打包工具,并不負(fù)責(zé)壓縮。下面是如何打包一個目錄:
# tar -cvf archive_name.tar directory_to_compress
如何解包:
# tar -xvf archive_name.tar.gz
上面這個解包命令將會將文檔解開在當(dāng)前目錄下面。當(dāng)然,你也可以用這個命令來捏住解包的路徑:
# 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
上面這個解包命令將會將文檔解開在當(dāng)前目錄下面。當(dāng)然,你也可以用這個命令來捏住解包的路徑:
# tar -zxvf archive_name.tar.gz -C /tmp/extract_here/
TAR.BZ2
這種壓縮格式是我們提到的所有方式中壓縮率最好的。當(dāng)然,這也就意味著,它比前面的方式要占用更多的CPU與時間。這個就是你如何使用tar.bz2進行壓縮。
# tar -jcvf archive_name.tar.bz2 directory_to_compress
上面這個解包命令將會將文檔解開在當(dāng)前目錄下面。當(dāng)然,你也可以用這個命令來捏住解包的路徑:
# tar -jxvf archive_name.tar.bz2 -C /tmp/extract_here/
數(shù)據(jù)壓縮是非常有用的,尤其是對于備份來說。所以,你現(xiàn)在應(yīng)該考慮在你的備份腳本中使用你在這里學(xué)到的壓縮方式備份你基本的規(guī)則文件以減小你備份文件的大小。
過段時間之后,你就會意識到,在壓縮率與CPU占用時間上會有一個平衡,你也要學(xué)會如何去權(quán)衡什么時候你需要一個快但是壓縮率低,什么時候需要一個壓縮率高但是CPU點用高的壓縮方式,然后你才能避免無謂的空間與時間。