歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

Linux檔案與文件系統的壓縮與打包指令

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

Copyright © Linux教程網 All Rights Reserved