這個『壓縮』與『解壓縮』的動作有什麼好處呢?最大的好處就是壓縮過的檔案容量變小了, 所以你的硬碟容量無形之中就可以容納更多的資料,此外,在一些網路資料的傳輸中,也會由於資料量的降低, 好讓網路頻寬可以用來作更多的工作!而不是老是卡在一些大型的檔案上面呢!目前很多的 WWW 網站也是利用檔案壓縮的技術來進行資料的傳送,好讓網站的可利用率上升喔! Tips:
這種技術蠻有趣的!他讓您網站上面『看的到的資料』在經過網路傳輸時,使用的是『壓縮過的資料』, 等到這些壓縮過的資料到達你的電腦主機時,再進行解壓縮,由於目前的電腦運算速度相當的快速, 因此其實在網頁瀏覽的時候,時間都是花在『資料的傳輸』上面,而不是 CPU 的運算啦!,如此一來,由於壓縮過的資料量降低了,自然傳送的速度就會增快不少!
若您是一位軟體工程師,那麼相信您也會喜歡將你自己的軟體壓縮之後提供大家下載來使用, 畢竟沒有人喜歡自己的網站天天都是頻寬滿載的吧?!舉個例子來說, Linux 2.4.19 完整的核心大小約有 200 MB 左右,而由於核心主要多是 ASCII code 的純文字型態檔案,這種檔案的『多餘空間』最多了。而一個提供下載的壓縮過的 2.4.19 核心大約僅有 30MB 左右,差了幾倍呢?您可以自己算一算喔! Linux 系統常見的壓縮指令:
如果您常常在網路上面捉 Linux 的資料下來玩的話,大概會曉得的是,這些供人下載的檔案通常都是『壓縮』過的! 為了什麼?上面已經稍微提過啦!呵呵!壓縮過的檔案具有節省頻寬、節省磁碟空間等等的優點,並且還方便攜帶呢! ^_^ !而,您應該也會知道,這些被壓縮過的檔案,通常其附檔名都是『 *.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2 』 等等的,為什麼要訂定這些壓縮檔案附檔名為這樣的模樣呢?
這是因為在 Linux 上面壓縮的指令相當的多,並且,這些壓縮指令可能無法針對每種壓縮檔案都可以解的開, 畢竟目前的壓縮技術五花八門,每種壓縮計算的方法都不是完全相同的,所以囉,當你捉到某個壓縮檔時, 自然就需要知道壓縮他的是那個指令啦,好用來對照著解壓縮啊! ^_^!也就是說,雖然 Linux 檔案的屬性基本上是與檔名沒有絕對關係的,能不能執行與他的檔案屬性有關而已, 與檔名的關係很小!但是,為了幫助我們小小的人類腦袋瓜子,所以適當的檔案名稱附檔名還是必要的! 因此,目前就有一些常常見到的壓縮檔案的附檔名啦!我們僅列出常見的幾樣在底下,給大家權做參考之用:
*.Z compress 程式壓縮的檔案;
*.bz2 bzip2 程式壓縮的檔案;
*.gz gzip 程式壓縮的檔案;
*.tar tar 程式打包的資料,並沒有壓縮過;
*.tar.gz tar 程式打包的檔案,其中並且經過 gzip 的壓縮
目前常見的壓縮程式主要就是如同上面提到的附檔名對應的那些指令啦!最早期的要算是 compress 這個傢伙了,不過這個 compress 指令目前已經不再是預設的壓縮軟體了~ 而後,後來的 GNU 計畫
開發出新一代的壓縮指令 gzip ( GNU zip ) 用來取代 compress 這個老牌的壓縮指令,再來還有 bzip2 這個壓縮比更好的壓縮指令呢!不過,這些指令通常僅能針對一個檔案來壓縮與解壓縮,如此一來, 每次壓縮與解壓縮都要一大堆檔案,豈不煩人?此時,那個所謂的『打包軟體』就顯的很重要啦!
在 Unix-Like 當中,有個軟體很好玩,他就是 tar 這支程式!這個 tar 可以將很多檔案『打包』成為一個檔案! 甚至是目錄也可以這麼玩。不過,單純的 tar 功能僅是『打包』而已,亦即是將很多檔案集結成為一個檔案,事實上,他並沒有提供壓縮的功能,後來, GNU 計畫
中,將整個 tar 與壓縮的功能結合在一起,如此一來提供使用者更方便並且更強大的壓縮與打包功能! 底下我們就來談一談這些在 Linux 底下基本的壓縮指令吧! compress
什麼是 tarfile 與 tarball?
tar 的功能相當的多,而由於他是經由『打包』之後再處理的一個過程,所以常常我們會聽到 tarball 的檔案,那就是經由 tar 打包再壓縮的檔案啦! 而如果僅是打包而沒有壓縮的話,我們就稱為 tarfile 囉~此外, tar 也可以用在備份的儲存媒體上面,最常見的就是磁帶機了!假設我的磁帶機代號為 /dev/st0 ,那麼我要將我的 /home 底下的資料都給他備份上去時,就是使用 tar /dev/st0 /home 就可以啦!很不錯吧!
在 Linux 當中, gzip 已經被整合在 tar 裡面了!但是 Sun 或者其他較舊的 Unix 版本中, 當中的 tar 並沒有整合 gzip ,所以如果你需要解壓縮的話,就需要這麼做:
gzip -d testing.tar.gz
tar -xvf testing.tar
第一個步驟會將檔案解壓縮,第二個步驟才是將資料解出來!與其他壓縮程式不太一樣的是, bzip2, gzip 與 compress 在沒有加入特殊參數的時候,原先的檔案會被取代掉,但是使用 tar 則原來的與後來的檔案都會存在呦! dd