比如:有個檔案夾999,其路徑為: /home/yan/999,我要將檔案夾999下的所有檔案進行壓縮。
命令如下: cd /home/yan
tar -zcvf 999Back.tar.gz 999 或者 tar -zcvf 999Back.tar.gz ./999
注意這個999Back.tar.gz名字是自己起的,尾碼最好這樣加,你解壓縮的時候好知道用什麼參數。 -zcvf,這個命令大家記著。後面的vf是必備的,z和 尾碼裡的.gz相對應,告訴他用gz方式壓縮。c是compress壓縮的意思。
解壓命令:tar -zxvf 999Back.tar.gz -C ./
參數為-zxvf,z是表示解壓縮以gz壓縮的檔案,x是解壓縮的意思。 -C 是解壓縮到什麼地方的意思,後面的路徑可以自己選。
總結,壓縮命令參數 -zcvf ,解壓縮命令參數-zxvf。記住兩個參數,壓縮解壓縮不愁! 呵呵 。。。。
資料壓縮對我們來說是非常有用的。無論是在郵件中發送的圖片用的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點用高的壓縮方式,然後你才能避免無謂的空間與時間。
譯者註:
原作者弄錯了一個概念。tar這個命令並沒有壓縮的功能,它只是一個打包的命令。tar.gz與tar.bz2都是在tar命令中調用了別的壓縮 命令實現了一個壓縮的功能,實際是實行一個先打包後壓縮的過程,而且,tar.gz與tar.bz2隻是一個公認的一個通行尾碼而已,並不是一種壓縮格式 (真正實現壓縮的是gzip與bzip2,這是後話。),tar.gz在很多時候,也會被簡寫成tgz。
在譯文中,大部分地方尊重原作者,只是在tar的功能解釋時,我做了修改。