壓縮和解壓

壓縮和解壓

如果你想要在Linux下遨游,壓縮和解壓縮是必然會(huì)遇到,并且會(huì)經(jīng)常遇到的,所以必須學(xué)會(huì)。

縱觀計(jì)算領(lǐng)域的發(fā)展歷史,人們努力想把最多的數(shù)據(jù)存放到到最小的可用空間中,不管是內(nèi)存,存儲(chǔ)設(shè)備還是網(wǎng)絡(luò)帶寬。

今天我們把許多數(shù)據(jù)服務(wù)都看作是理所當(dāng)然的事情,但是諸如便攜式音樂(lè)播放器,高清電視,或?qū)拵ЬW(wǎng)絡(luò)之類的存在都應(yīng)歸功于高效的數(shù)據(jù)壓縮技術(shù)。

壓縮算法(數(shù)學(xué)技巧被用來(lái)執(zhí)行壓縮任務(wù))分為兩大類,無(wú)損壓縮和有損壓縮。

無(wú)損壓縮保留了原始文件的所有數(shù)據(jù)。這意味著,當(dāng)還原一個(gè)壓縮文件的時(shí)候,還原的文件與原文件一模一樣。

而另一方面,有損壓縮,執(zhí)行壓縮操作時(shí)會(huì)刪除數(shù)據(jù),允許更大的壓縮。

當(dāng)一個(gè)有損文件被還原的時(shí)候,它與原文件不相匹配; 相反,它是一個(gè)近似值。有損壓縮的例子有JPEG(圖像)文件和MP3(音頻)文件。

當(dāng)然,我現(xiàn)在只想了解無(wú)損壓縮。因?yàn)橛?jì)算機(jī)中的大多數(shù)數(shù)據(jù)是不能容忍丟失任何數(shù)據(jù)的。

gzip

  1. gzip 程序被用來(lái)壓縮一個(gè)或多個(gè)文件。當(dāng)執(zhí)行g(shù)zip 命令時(shí),則原始文件的壓縮版會(huì)替代原始文件。
  2. 相對(duì)應(yīng)的gunzip 程序被用來(lái)把壓縮文件復(fù)原為沒(méi)有被壓縮的版本。
  3. 使用gzip -rv ~/test,是分別壓縮test目錄下的每個(gè)文件,而不是壓縮test目錄。
  4. 壓縮文件后綴是.gz。
    注意:只能壓縮文件,可一次性壓縮很多文件。

bzip2

  1. bzip2 程序與gzip 程序相似,但是使用了不同的壓縮算法,舍棄了壓縮速度,而實(shí)現(xiàn)了更高的壓縮級(jí)別。
  2. 在大多數(shù)情況下,它的工作模式等同于gzip。
  3. 壓縮文件后綴是.bz2。
    注意:只能壓縮文件,并且只能壓縮單個(gè)文件,因?yàn)楹蚲zip相比,缺少了-r參數(shù)。

tar

  1. 與文件壓縮結(jié)合一塊使用的文件管理任務(wù)是歸檔。
  2. 歸檔就是收集許多文件,并把它們捆綁成一個(gè)大文件的過(guò)程。
  3. tar 程序是用來(lái)歸檔文件的經(jīng)典工具。它的名字,是tape archive 的簡(jiǎn)稱,揭示了它的根源,它是一款制作磁帶備份的工具。
  4. 而它仍然被用來(lái)完成傳統(tǒng)任務(wù),它也同樣適用于其它的存儲(chǔ)設(shè)備。
  5. 我們經(jīng)常看到擴(kuò)展名為.tar 或者.tar.gz 的文件,它們各自表示“普通”的tar 包和被gzip 程序壓縮過(guò)的tar 包。
    注意:歸檔只是把許多文件捆綁成一個(gè)大文件,它并不壓縮文件,只是為了給壓縮文件做準(zhǔn)備。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容