2020年3月29日 星期日

淺談Ubuntu上常見的壓縮與封存命令-續

封存程式

在Unix類的系統上做資料備份,建議還是用tar,它可較完整地保存檔案的各種屬性,不建議用zip或7z。如果只是有檔案想打包給別人用,但擔心對方不會用tar,那麼理所當然就用zip或7z。

由於7z在許多方面的表現都比zip出色,也支援zip的格式,用法也不難,而且也相當普遍,所以在考慮使用zip時,除非有其他特殊因素,否則應該先認真考慮一下7z會是更好的選擇。也許讀者會想略過zip一節內容而直接看7z的,這兩者的用法並不像上述般有相似性。

淺談Ubuntu上常見的壓縮與封存命令

摘要

前面談過tar,本文談談以下幾個Ubuntu上壓縮命令與archive封存(或譯為歸檔)命令:
  • compress
  • gzip
  • bzip2
  • xz
  • zip
  • 7z
只談命令行(CLI)的使用,若要圖形使用者介面GUI,桌面系統內建的壓縮管理員或PeaZip都很好用。使用環境同樣是Ubuntu MATE 18.04。

在進入正題之前,先談一下data compressor(壓縮程式)與file archiver(封存程式),上列的前4個屬前者,最後2個與tar則屬後者。

壓縮程式與封存程式

一般習慣上會把像WinZip, WinRar, 7-zip這類稱為壓縮程式,但在這裡把這類可將多個檔案或目錄,塞進一個容器檔案中,同時在必時也可使用壓縮演算法把要塞進去的檔案做壓縮處理的程式,稱為封存程式;而單純只對單一檔案做資料壓縮處理的程式,稱為壓縮程式。

Unix的設計理念,把個別程式的功能單純化設計好,聯合使用多支程式時,就可達成強大、複雜的功能。所以tar只提供封存功能,但以指定壓縮選項的方式來聯合使用其他壓縮程式,就可達成封存且壓縮的目的;想加密,再使用加密程式如gpg即可。

以下依這兩類分別做簡介,除了compress,在Ubuntu 18.04中皆已內建,無需額外安裝。每類所列的程式是依照推出時間的順序而定,也就是排在前的較早。