1 / 39

第 9 章

第 9 章. 打包、壓縮 與解壓縮. 前言. 在 Linux 的世界中 , 大部分的程式都是以壓縮檔的形式散佈。所以我們常常會看到一些以 .tar.gz 、 .tgz 、 .gz , 或 .bz2 為副檔名的檔案。 這些檔案都是使用各種不同壓縮程式所製作出來的壓縮檔 , 我們從網路上取得這樣的檔案之後 , 都要先解壓縮才能安裝使用。. 前言. 由於這是每個 Linux 使用者經常會用到的基本功能 , 因此在這一章中介紹最常見到的打包、壓縮和解壓縮程式。以後再遇到這些檔案時 , 就知道該如何處理了。

munin
Télécharger la présentation

第 9 章

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第 9 章 打包、壓縮 與解壓縮

  2. 前言 • 在 Linux 的世界中, 大部分的程式都是以壓縮檔的形式散佈。所以我們常常會看到一些以 .tar.gz、.tgz、 .gz , 或 .bz2 為副檔名的檔案。 • 這些檔案都是使用各種不同壓縮程式所製作出來的壓縮檔, 我們從網路上取得這樣的檔案之後,都要先解壓縮才能安裝使用。

  3. 前言 • 由於這是每個 Linux 使用者經常會用到的基本功能, 因此在這一章中介紹最常見到的打包、壓縮和解壓縮程式。以後再遇到這些檔案時, 就知道該如何處理了。 • 以下先列出常見的各種副檔名及其所使用的壓縮指令:

  4. 前言 • .tar:以 tar 指令打包的檔案。 • .zip:以 zip 指令壓縮的檔案。 • gz:以 gzip 指令壓縮的檔案。 • .tar.gz、.tgz:以 tar 指令打包, 再使用 gzip 指令壓縮的檔案。 • .bz2:以 bzip2 指令壓縮的檔案。

  5. 前言 • .tar.bz2:以 tar 指令打包, 再使用 bzip2 指令壓縮的檔案。 • .Z:以 compress 指令壓縮的檔案。 • .tar.Z:以 tar 指令打包, 再使用 compress 指令壓縮的檔案。

  6. 本章提要 • 9-1 打包的 tar 指令 • 9-2 壓縮與解壓縮的 zip 和 unzip 指令 • 9-3 壓縮與解壓縮的 gzip 和 gunzip 指令 • 9-4 壓縮與解壓縮的 bzip2 和 bunzip2 指令 • 9-5 壓縮與解壓縮的 compress 和 uncompress指令

  7. 9-1 打包的 tar 指令 • tar指令位於 /bin 目錄中, 它能將使用者所指定的檔案或目錄打包成一個檔案, 不過它並不做壓縮。一般 Unix 上常用的壓縮方式是先用 tar 指令將許多檔案打包成一個檔案, 再以gzip等壓縮指令壓縮成 xxx.tar.gz (或稱為 xxx.tgz ) 的檔案。 • tar 指令的參數繁多, 您可執行 tar --help 指令得到各參數的語法及大致說明。以下列舉常用參數作說明:

  8. 打包的 tar 指令 • -c :建立一個新的 tar 檔。 • -v :顯示運作過程的資訊。 • -f :指定檔案名稱。 • -z :呼叫 gzip 壓縮指令執行壓縮、解壓縮。 • -j :呼叫 bzip2 壓縮指令執行壓縮、解壓縮。 • -t :檢視壓縮檔案內容。 • -x :解開 tar 檔。 • -Z:呼叫 compress 壓縮指令執行壓縮、解壓縮。

  9. 打包的 tar 指令 • 在此先舉一些最常用的範例: • 以下就其各種功能分別解說。

  10. 打包的 tar 指令 • 壓縮與解壓縮 • 打包與解開 • 更新與刪除

  11. 壓縮與解壓縮 • tar指令本身沒有壓縮能力, 但是我們可以在產生 tar 檔案後, 立即使用其他壓縮指令來壓縮, 省去需要輸入兩次指令的麻煩: • 使用 -z 參數來解開最常見的 .tar.gz 檔案:

  12. 壓縮與解壓縮 • 使用 -j 參數解開 tar.bz2 壓縮檔:

  13. 壓縮與解壓縮 • 使用 -Z 參數指定以 compress指令壓縮, 或以 uncompress指令解壓縮 tar檔:

  14. 壓縮與解壓縮 • 使用 --totals 參數可在打包完成後, 顯示寫入的 bytes 數:

  15. 打包與解開 • tar的主要功能在於打包和解開, 讓我們看看其他相關參數的運作: • 使用 --atime-preserve 參數, 可將解開後的檔案以原來的檔案時間存檔:

  16. 打包與解開 • 使用 -h 參數指定打包檔案時, 若遇到符號連結, 要儲存符號連結所連結的檔案, 而不是符號連結本身:

  17. 更新與刪除 • 暸解了打包和解開的方法後, 接著看看如何針對部份檔案做更新與刪除的處理, 請看以下範例說明: • 使用 --delete 參數刪除 .tar 檔中的檔案: • 使用 -r 參數將檔案附加到 tar 檔後面:

  18. 更新與刪除 • 使用 -k 參數解開 tar 檔案時, 不覆蓋已存在的檔案: • 使用 --remove-files 參數將檔案移入 tar 檔案中, 並移除原檔案:

  19. 9-2 壓縮與解壓縮的 zip 和 unzip 指令 • 在 Linux 中有許多不同的壓縮及解壓縮程式, 接下來介紹的是處理 .zip 檔的zip 和unzip 指令。這 2 個指令位於 /usr/bin 目錄中 , 它們和 DOS 下的pkzip、pkunzip 以及 Windows 的 WinZip 軟體功能一樣, 可將檔案壓縮成 .zip檔以節省磁碟空間, 需要使用的時候, 再將壓縮檔解開。

  20. 壓縮與解壓縮的 zip 和 unzip 指令 • 壓縮 .zip 檔案的 zip 指令 • 解壓縮 .zip 檔的 unzip 指令

  21. 壓縮 .zip 檔案的 zip 指令 • zip指令可用來壓縮檔案, 如果我們有許多檔案需要做壓縮, zip 指令甚至可以將它們一併處理並壓縮成一個檔案。 • 一般zip 指令最常用的方法, 是依序在指令後加上壓縮後的指定檔名, 以及要壓縮的檔案。

  22. 壓縮 .zip 檔案的 zip 指令 • 若不清楚 zip 指令的執行參數, 可直接執行 zip 指令, 顯示版權與語法說明:

  23. 壓縮 .zip 檔案的 zip 指令 • 壓縮指定的檔案 (可同時指定不同副檔名的檔案):

  24. 壓縮 .zip 檔案的 zip 指令 • 使用 -g 參數可壓縮指定的檔案, 並加入已存在的壓縮檔中:

  25. 壓縮 .zip 檔案的 zip 指令 • 使用 -j 參數壓縮時, 只會加入檔案的名稱及內容, 不會包含目錄結構:

  26. 壓縮 .zip 檔案的 zip 指令 • 使用 -r 參數, 可在壓縮時包含所有子目錄下的內容:

  27. 解壓縮 .zip 檔的 unzip 指令 • unzip指令用來將 zip指令壓縮產生的檔案解壓縮。 • 您同樣可不加任何參數, 直接執行 unzip 指令, 取得參數及使用說明。 • 將檔案全部解壓縮:

  28. 解壓縮 .zip 檔的 unzip 指令 • 將檔案解壓縮至某個目錄下: • 要解壓縮時, 若原來的檔案已存在目錄中, 就不解壓縮;若不存在, 才解壓縮: • 解壓縮時不要依照原來的目錄結構, 而將檔案置於現行目錄下:

  29. 9-3 壓縮與解壓縮的 gzip 和 gunzip 指令 • 除了 .zip 檔的壓縮格式外, 在 Linux 系統下更常見的是 .gz 檔的壓縮格式,這種檔案一般是由 gzip指令所產生。 • 由於 zip指令能將許多檔案壓縮成一個檔案功能, 但 gzip不能, 所以 gzip一般會和 tar合併使用。目前大部分的壓縮檔大都是用 tar將所有檔案包裝成一個檔案, 再用 gzip做壓縮, 所以副檔名為 .tar.gz或 .tgz 者, 大多就是這類型的檔案。

  30. 壓縮與解壓縮的 gzip 和 gunzip 指令 • 壓縮檔案的 gzip • 解壓縮 .gz 檔的 gunzip

  31. 壓縮檔案的 gzip • gzip和zip同為壓縮指令, 有了前面的基礎, 要使用 gzip應該事半功倍。使用 gzip -h可得到指令的參數及語法說明, 現在讓我們看看一些範例: • 壓縮及解壓縮:

  32. 壓縮檔案的 gzip • 解壓縮時, 使用 -f 參數, 可強迫覆蓋輸出檔案, 不要提示詢問訊息:

  33. 解壓縮 .gz 檔的 gunzip • gunzip的用法與 gzip 一樣, 它們擁有相同的指令列選項。 • 其實 gunzip 與 gzip 基本上是同一支程式, 只是預設選項不同而已。操作上可以把 gunzip 視為 gzip -d指令, 故筆者在此不再贅述。

  34. 9-4 壓縮與解壓縮的 bzip2 和 bunzip2 指令 • 在網路上還有一種 *.tar.bz2 的壓縮檔, 是先以 tar指令打包, 再用 bzip2指令壓縮的檔案。由於 bzip2指令的壓縮能力較好, 通常用來壓縮系統核心或修補檔。 • *.tar.bz2 的解壓縮方法如下:

  35. 壓縮與解壓縮的 bzip2 和 bunzip2 指令 • 以下舉幾個常用的範例: • bzip2 指令與 gzip 指令一樣, 在壓縮與解壓縮後會將原檔刪除, 若希望保留原檔, 可加上 -k 參數:

  36. 壓縮與解壓縮的 bzip2 和 bunzip2 指令 • bzip2與bunzip2 指令位於 /usr/bin 目錄下, bunzip2指令實際上是指向 bzip2 指令的符號連結, 執行 bzip2指令時加上 -d 參數亦可將 .bz2 檔解壓縮: • bzip2 與bunzip2 在功能、參數的用法上與 gzip 幾乎一樣, 您也可以使用這個壓縮程式。

  37. 9-5 壓縮與解壓縮的 compress 和 uncompress 指令 • compress指令可以將檔案壓縮成 .Z 檔, uncompress指令則可以將 .Z 檔解壓縮。 • 但uncompress指令實際上是指向 compress指令的符號連結, 所以真正負責解壓縮工作的還是 compress指令。 • 一般使用 compress指令壓縮檔案時, 只要在指令後加上要壓縮的檔案即可。

  38. 壓縮與解壓縮的 compress 和 uncompress 指令 • compress 指令與 gzip指令一樣在壓縮完成後, 將只留下壓縮後的檔案, 原始檔案會被刪除。範例如下:

  39. 壓縮與解壓縮的 compress 和 uncompress 指令 • compress指令可說是 Linux 中壓縮程式的老前輩, 由於其壓縮率較差, 目前已較少使用, 並且使用 gunzip 指令也可以解壓縮 .Z 檔, 故筆者在此不再對其參數多作說明。

More Related