1.文件壓縮的原理:目前,計算機系統中都是使用bytes單位來計量的,不過,事實上,計算機最小的計量單位應該是bits才對,此外,我們也知道1byte=8bits。即每個byte當中會有8個空格,而每個空格可以是0或1,所以,如果我們要記錄1這個數字,那麼就會將另外的7個空格浪費掉。而壓縮技術就是通過一些算法,將這些沒有使用的控件丟出來,以讓檔案占用的空間變小。另一種壓縮技術將重復的數據進行統計記錄。比如,1111……1共100個1時,壓縮技術就會記錄為100個1,而不是實際存儲100個1。
2.文件後綴與壓縮方式:
1)*.Z:compress程序壓縮的檔案
2)*.gz:gzip程序壓縮過的檔案
3)*.bz2:bzip2程序壓縮的檔案
4)*.tar:tar程序打包的數據,並沒有壓縮過。
5)*.tar.gz:tar程序打包的檔案,並且經過gzip壓縮過
6)*.tar.bz2:tar程序打包的檔案,並且經過bzip2的壓縮
3.linux上常見的壓縮指令就是gzip與bzip2,至於compress已經退出流行了。gzip是由GNU計劃所開發出來的指令,該指令已經取代了compre。後來GNU又開發出bzip2這個壓縮比更好的壓縮指令。不過,這些指令通常僅能針對一個檔案壓縮與解壓縮,如此一來,每次壓縮與解壓縮都要一大堆檔案。因此,可以用tar進行打包。tar將很多檔案打包成一個檔案,甚至是目錄。單純的tar只是打包的功能。
4.compress [-rcv] 檔案或目錄:非常老的指令,需要安裝ncompress軟件。gzip可以解開這個指令壓縮的檔案。
1)-r:可以連同目錄下的檔案同時壓縮
2)-c:將壓縮數據輸出到屏幕,可以通過>filename 另存到指定的檔案,源文件依然存在
3)-v:可以顯示出壓縮後的檔案信息以及壓縮過的一些檔案名變化
在預設情況下,源文件會被壓縮文件替換掉。
uncompress 檔案.Z:解壓文件,解壓後會去掉後綴,還原成源文件。
5.gzip [-cdtv#] 檔名;zcat 檔名.gz:壓縮解壓縮檔案,參數:
1)-c:將壓縮的數據顯示到屏幕上,可透過數據流導向來處理
2)-d:加壓縮的參數
3)-t:可以用來檢驗一個壓縮文件的一致性,看檔案有無錯誤
4)-v:可以顯示出原檔案/壓縮文件的壓縮比等信息
5)-#:壓縮等級,-1最快,但壓縮比最差,-9最慢,但壓縮比最好,預設是-6,在#處輸入數字
該指令在預設情況下會將檔案壓縮成後綴為.gz的檔案名,源文件就不再存在了。另外該指令壓縮的文件也可以被windos下的winrar軟件解壓。
zcat這個指令可以讀取gzip壓縮後的文件
6.bzip2 [-cdkzv#] 檔名,bzcat 檔名.bz2:提供比gzip更好的壓縮方案,參數:
1)-c:將壓縮的過程產生的數據輸出到屏幕上
2)-d:解壓縮的參數
3)-k:保留源文件,而不會刪除原始檔案
4)-z:壓縮的參數
5)-v:可以顯示出原檔案/壓縮文件案的壓縮比等信息
6)-#:與gzip同樣的,都是在計算壓縮比參數,-9最佳,-1最快
bzcat:同樣可以讀取壓縮過的文件
7.tar [-jz] [cv] [-f 建立的檔名] filename:打包並壓縮
tar [-jz] [tv] [-f 建立的檔名] :查看檔名
tar [-jz] [xv] [-f 建立的檔名] [-C 目錄] :解壓縮
參數:
1)-c:建立打包檔案,可搭配-v來擦看過程中被打包的檔名
2)-t:查看打包檔案的內容還有哪些檔名
3)-x:解包或解壓縮的功能,可以搭配-C在特定目錄下解開
特別注意:-c,-t,-x不能同時出現在一條指令中
4)-j:透過bzip2的支持進行壓縮/解壓縮:此時檔案名最後為*.tar.bz2
5)-z:透過gzip的支持進行壓縮/解壓縮:此時檔名最好為tar.gz
6)-v:在壓縮/解壓縮的過程中,將正在處理的文件名顯示出來
7)-f filename:-f後面要立刻接要被處理的檔名
8)-C目錄:這個選項用在解壓縮,若要在特定目錄解壓縮,可以使用這個選項
9)-p:保留備份數據的原本權限與屬性,常用於備份重要的配置文件
10)-P:保留絕對路徑,亦即允許備份數據中含有根目錄存在之意
11)--exclude=FILE:在壓縮過程中,不要講FILE打包。
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-12/110792p2.htm