自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux常見壓縮格式Tar、Zip和Gz格式之不同

系統(tǒng) Linux
Linux 中大家在下載文件時常見的壓縮文件有 .tar、.zip 或 .gz 等擴展名,大多數(shù)用戶都已經(jīng)見怪不怪了。那 Linux 中為什么要搞出這么多種壓縮格式,Tar、Zip 和 Gz 之間到底有什么區(qū)別與不同呢?本文系統(tǒng)極客就為大家一一道來。

Linux 中大家在下載文件時常見的壓縮文件有 .tar、.zip 或 .gz 等擴展名,大多數(shù)用戶都已經(jīng)見怪不怪了。那 Linux 中為什么要搞出這么多種壓縮格式,Tar、Zip 和 Gz 之間到底有什么區(qū)別與不同呢?本文系統(tǒng)極客就為大家一一道來。

Tar、Zip和Gz格式的不同

Tar、Zip 和 Gz 之間的不同用最為簡潔的描述來說可歸納為:

  • tar 未壓縮的歸檔文件
  • zip (通常)壓縮歸檔文件
  • gz 使用gzip壓縮的文件(歸檔或不歸檔)

存檔文件的歷史

與 Unix 和類 Unix 系統(tǒng)一樣,故事開始于很久之前的七十年代。1979 年 1 月的一個清晨,Tar 實用程序***作為 Unix V7 的一部分正式面世。Tar 程序當時主要被設(shè)計為往磁帶上批量高效寫入文件的一種方式?,F(xiàn)在,雖然現(xiàn)在大多數(shù) Linux 用戶都已經(jīng)不知道磁帶驅(qū)動器是什么鬼了,但 tarballs(tar 的昵稱)仍被常用于將多個文件甚至整個目錄樹打包到單一文件當中。

需要 Linux/Unix 用戶注意的是,普通的 tar 格式文檔只進行歸檔操作而不進行壓縮。換句話說就是,如果你 tar 100 個 50kb 的文件得到的 tar 歸檔文件大小應該為 5000kb 左右。

使用 Tar 進行文件歸檔的唯一好處就是減少某種粒度磁盤空間的分配。(例如在簇大小為 4kb 的磁盤上 1 字節(jié)的文件也要占用 4kb 磁盤空間,若有 1000 個 1 字節(jié)的文件分散在此磁盤上的話,則會占用 4MB 大小,而使用 Tar 歸檔之后則只占用 1MB 左右大小。)

值得一提的是,tar 并非 Linux/Unix 中創(chuàng)建歸檔文件的唯一方式。程序員朋友應該知道 ar,它大多情況下主要用于創(chuàng)建靜態(tài)庫,實際它也是可用來創(chuàng)建其它種類歸檔的,例如 Debian 系統(tǒng)中使用的 .deb 包文件就是 ar 存檔。而 macOS 的 mpkg 包是使用 gzip 壓縮的 cpio 檔。不過 ar 和 cpio 用起來不像 Tar 這樣友好、簡單,所以 tar 的受歡迎程度更高,普及更廣。[[183056]]

[[183057]]

雖然歸檔是種不錯的選擇,但隨著時間的推移和個人 PC 時代的到來,人們意識到可通過壓縮數(shù)據(jù)的方式來大量節(jié)省存儲成本。所以 10 年后隨 MS-DOS 出現(xiàn)的 zip 文檔便是支持壓縮的歸檔格式,zip 最常見的壓縮方式是采用 LZ77 算法實現(xiàn)的 deflate。由于它由 PKWARE 商業(yè)開發(fā),所以 zip 格式也受專利保護多年。因此,為不侵犯到 PKWARE 的專利,同樣采用 LZ77 算法的 gzip 格式被推出并廣泛使用。

Unix 的哲學就是把某事做到***,所以 gzip 只被設(shè)計為壓縮文件。因此,為了創(chuàng)建壓縮歸檔,必需先使用 tar 創(chuàng)建歸檔,之后再對歸檔文件進行壓縮,因此才有了 .tar.gz 文件(為遵循 8.3 MS-DOS 文件名稱限制,又被簡稱為.tgz)。

隨著技術(shù)的不斷發(fā)展,具有更高壓縮比的壓縮算法也一一被實現(xiàn),例如:在 bzip2 中實現(xiàn)的 Burrows-Wheeler 算法(.tar.bz2 存檔)和 LZMA 算法實現(xiàn)的 .xz 存檔。

現(xiàn)在,用戶已經(jīng)可以在 Linux 和 Windows 中自由使用任何歸檔文件格式。由于 zip 格式已經(jīng)被 Windows 操作系統(tǒng)原生支持,因此這種格式特別適合跨平臺環(huán)境。

Tar、Zip和Gz格式效率測試

下面我們所討論的是 Tar、Zip 和 Gz 文件格式壓縮、歸檔后的磁盤空間效率而不是時間效率,如下是對 100MB 流行格式文件的測試對比:

由于 jpg、mp3、mp4 已經(jīng)是壓縮封裝的文件,所以再打包壓縮的效果一定不會太好。

責任編輯:武曉燕 來源: 系統(tǒng)極客
相關(guān)推薦

2023-10-18 08:28:17

Linux壓縮

2009-12-25 17:55:05

Linux tar

2023-11-01 07:01:35

2010-01-04 09:27:31

Linux壓縮解壓縮命令詳解

2023-06-01 09:38:27

微軟WinRARWindows 11

2023-05-24 07:22:51

微軟Windows 11

2012-03-26 10:45:34

CSS

2012-03-27 09:42:57

JavaScriptCSS

2010-08-03 09:53:50

Linux NFS

2009-12-15 14:08:14

Linux系統(tǒng)備份ta

2010-03-04 13:21:32

linux壓縮命令

2010-02-03 10:12:53

Python模塊

2009-10-21 11:16:23

Linux壓縮打包方法

2023-12-21 07:30:36

PythonZipfileTarfile

2012-05-10 09:43:28

2021-10-03 22:06:43

LinuxTar軟件

2011-09-15 13:42:18

Linuxsquashfs

2017-06-16 09:58:34

Hive格式壓縮算法

2009-09-15 09:36:35

linuxTar命令常用參數(shù)

2010-09-02 15:42:37

echo命令
點贊
收藏

51CTO技術(shù)棧公眾號