當前位置:首頁 » 操作系統 » lzmalinux

lzmalinux

發布時間: 2024-02-02 18:36:45

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

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

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

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

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

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

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

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

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

現在,用戶已經可以在 Linux 和 Windows 中自由使用任何歸檔文件格式。由於 zip 格式已經被 Windows 操作系統原生支持,因此這種格式特別適合跨平台環境。

② linux解壓tar命令解壓到當前文件夾

命令 tar xvf test.tar.,這個命令即是把test.tar壓縮文件解壓到當前文件夾,最後那個. 既是當前目錄的意思。
另外如果解壓到其他目錄,直接使用-C參數即可,其他擴展知識點參考如下,
-A, --catenate 追加 tar 文件至歸檔

-c, --create 創建一個新歸檔

-r, --append 追加文件至歸檔結尾
-u, --update 僅追加比歸檔中副本更新的文件

-x, --extract, --get 從歸檔中解出文件

-t, --list 列出歸檔內容

-z, --gzip, --gunzip, --ungzip 通過 gzip 壓縮歸檔

-j, --bzip2 通過 bzip2 壓縮歸檔

-J, --xz 通過 xz 過濾歸檔

--lzip 通過 lzip 過濾歸檔

--lzma 通過 lzma 過濾歸檔

-Z, --compress, --uncompress 通過 compress 壓縮歸檔

-v, --verbose 詳細地列出處理的文件過程

-k, --keep-old-files 保留源文件不覆蓋
-m, --touch 不要解壓文件的修改時間

-W, --verify 在寫入以後嘗試校驗歸檔
f, --file=ARCHIVE

③ lzmaDecode 是什麼演算法

LZMA,(Lempel-Ziv-Markov chain-Algorithm的縮寫),是一個Deflate和LZ77演算法改良和優化後的壓縮演算法,開發者是Igor Pavlov,2001年被首次應用於7-Zip壓縮工具中,是 2001年以來得到發展的一個數據壓縮演算法。它使用類似於 LZ77 的字典編碼機制,在一般的情況下壓縮率比 bzip2 為高,用於壓縮的可變字典最大小可達4GB.

C++ 語言寫成的的 LZMA 開放源碼壓縮庫使用了區間編碼支持的 LZ77 改進壓縮演算法以及特殊的用於二進制的預處理程序。
數據流、重復序列大小以及重續序列位置單獨進行了壓縮。
LZMA 支持幾種散列鏈變體、二叉樹以及基數樹作為它的字典查找演算法基礎。

BCJ / BCJ2

BCJ / BCJ2 壓縮工具所附帶的 LZMA SDK 包括:在 X86、ARM、PowerPC、IA-64 以及 ARM Thumb 處理器上在壓縮之前跳轉目標進行歸一化處理。對於 x86 平台來說,這是一個近跳轉、近調用以及近條件跳轉需要從「向後跳 1665 位元組」這樣的機器語言歸一化到「跳轉到 5554」這樣的格式,但是短跳轉及短條件跳轉不需要進行這樣的處理。

7-Zip

盡管 7-Zip BCJ2 使用 32 位的偏移地址,但是 UPX 這樣的可執行文件壓縮工具當檢測到 16 位 DOS 二進制文件格式的時候仍然可以使用 16 位的數值。RAR 壓縮工具對 32 位的 x86 可執行文件以及 IA64 Itanium 可執行文件進行偏移地址壓縮。
BCJ / BCJ2 二進制文件壓縮
BCJ 與 BCJ2 之間的區別在於前者只將近跳轉及近調用目標地址轉換到歸一化的形式,而 BCJ2 只將 x86 平台下的近跳轉、近調用及條件近跳轉目標分別進行壓縮。
7-Zip 實現
在GNU LGPL通用公共許可證下發布的7-zip中使用的LZMA有以下幾個特點:
* 高壓縮比;
* 解壓縮程式碼較小:約 5 KB;
* 解壓縮時僅需少量內存 (取決於字典大小);
* 可變更字典大小 (最大 4 GB);
* 壓縮速度:在一部2GHz的處理器上運行,約可達到1MB每秒的速度;
* 解壓縮速度:在一部2GHz的處理器上運行,約可達10-20MB每秒的速度;
* 支援多線程、多核心(多處理器)和Pentium 4處理器的超線程(Hyper-Threading);
這個特點使得這個這個演算法的解壓過程非常適合於嵌入式系統應用的場合。
可移植性
一些微軟Windows專有的特性深深嵌入在源程序中,這樣就很難生成一個與 Unix 兼容的版本。但是,已經有兩個移植到類 Unix 平台的版本:
* p7zip 是一個或多或少地完全將 7z 及 7za 移植到 POSIX 的 7-zip 版本,這些系統包括 Linux、Solaris、OpenBSD、FreeBSD、Cygwin 等 Unix 系統以及 Mac OS X 和 BeOS等。
* LZMA Unix Port 是一個只移植了 LZMA 中代碼的版本,它是一個類似於 gzip 的基於數據流的壓縮工具。它不是一個歸檔工具,而只是一個普通的壓縮工具,並且由於它在沒有數據頭中沒有未壓縮文件大小的 UInt64 變數,所以它與 7-zip 生成的 LZMA 數據流中不同。7-zip 使用一種更加靈活的歸檔格式 7z,因此二者都不能互相使用對方生成的數據,至少在目前是這樣。

應用

使用或者支持 LZMA 的軟體有:
* Nullsoft Scriptable Install System
* Inno Setup
* cramfs and SquashFS, with applied patches
* lrzip ("long range zip", or "LZMA rzip")
* PyLZMA,Igor Pavlov 的 LZMA SDK 的 Python 語言介面
* FreeArc, 歸檔工具及 LZMA SDK 的 Haskell 語言介面
* 用於 Pascal 語言的 LZMA SDK

④ 7z安裝文件里的7zg和7zfm都是什麼

7zfm.exe(7-zip File Manager)是7-Zip軟體的GUI主程序,7zg.exe是7-Zip軟體主程序所依賴的軟體模塊,供7zfm.exe主程序調用,提供壓縮演算法支持。

7zfm.exe作為7-Zip軟體的GUI主程序,提供了7-Zip操作管理系統文件、文件夾的窗口,在操作界面中可以方便的訪問系統文件,提供壓縮、提取的便捷方式。

7zfm.exe、7zg.exe支持一系列壓縮演算法:LZMA(改良與優化後的 LZ77 演算法)、LZMA2(改良的 LZMA 演算法)、PPMD(基於 Dmitry Shkarin 的 PPMdH 演算法)、BCJ(32 位 x86 可執行文件轉換程序)、BCJ2(32 位 x86 可執行文件轉換程序)、BZip2(標准 BWT 演算法)。

(4)lzmalinux擴展閱讀:

支持格式:

1、壓縮/解壓縮:7z、 XZ、 BZIP2、 GZIP、 TAR、 ZIP 和 WIM

2、僅解壓縮:ARJ、CAB、CHM、CPIO、CramFS、DEB、DMG、FAT、HFS、ISO、LZH、LZMA、MBR、MSI、NSIS、NTFS、RAR、RPM、SquashFS、UDF、VHD、WIM、XAR、7Z

3、對於 ZIP 及 GZIP 格式,7-Zip 能提供比使用 PKZip 及 WinZip 高 2-10% 的壓縮比

4、為 7z 與 ZIP 提供更完善的 AES-256 加密演算法

5、7z 格式支持創建自釋放(SFX)壓縮包

6、Windows 資源管理器集成,強大的的文件管理器,強大的命令行版本,支持 FAR Manager 插件,支持 79 種語言,7-Zip 適用於 Windows 7 / Windows10 / Vista / XP / 2008 / 2003 / 2000 / NT / ME / 98,並且有面向 Mac OS X、Linux、Unix 平台的命令行版本。

熱點內容
腳本六要素 發布:2024-11-28 19:41:07 瀏覽:986
linuxoralce 發布:2024-11-28 19:39:51 瀏覽:607
4k存儲量 發布:2024-11-28 19:39:36 瀏覽:824
php動態鏈接 發布:2024-11-28 19:34:16 瀏覽:151
手機上的安卓系統在哪裡看 發布:2024-11-28 19:29:06 瀏覽:788
空調外機壓縮機聲音大 發布:2024-11-28 19:27:28 瀏覽:312
中國密碼箱哪裡的好 發布:2024-11-28 19:23:01 瀏覽:309
低配伺服器如何搭建網站 發布:2024-11-28 19:08:46 瀏覽:923
zenly為什麼不能下載安卓機 發布:2024-11-28 18:59:05 瀏覽:295
怎麼把輔助放入伺服器 發布:2024-11-28 18:53:06 瀏覽:598