Skip to content

[Linux] 各種壓縮、加密壓縮、分割壓縮、解壓縮的指令

Last Updated on 2021-06-18 by Clay

目錄


前言

在 Linux 上存在著各式各樣的壓縮指令,有時候真的很難記得各式各樣的指令。故今天開了一篇新的文章,希望可以把常用到的壓縮、加密壓縮、分割壓縮、解壓縮指令通通記在這裡。

常見的副檔名、格式,基本上就如同最上方的目錄所列。

之所以會有這麼多的指令,是因為在 Linux 上有著各式各樣不同的壓縮技術,一般來說解壓縮技術只能解壓縮與之相對的壓縮檔。

那麼我們就按照順序來看看吧!


7z

7z 是一個 Open Source 的資料壓縮程式,由開發者 Igor Pavlov 於 1999 年開發,使用 GNU LGPL 發布。詳細的內容可以前往 SourceForge 查看:https://sourceforge.net/projects/sevenzip/files/7-Zip/

壓縮: 7z a File.7z File
加密壓縮: 7z a File.7z File -p{dddd}
分割壓縮: 7z -v{dddd}m a File.7z File
解壓縮: 7z x File.7z

以上的 {dddd} 代表輸入數字或密碼的部份。


bz2

bz2、或者我們說是 "bzip2" 是由 Julian Seward 開發,同樣為自由軟體的資料壓縮演算法。比傳統的 gzip 和 zip 壓縮比更高、但速度卻比較慢。

更重要的是,bz2 是所謂不做『檔案歸檔』動作的壓縮,也意味著它能實現單個文件的壓縮,但卻沒辦法進行資料夾的壓縮 (還有,也無法進行加密)。如果想要壓縮資料夾,我們應該選擇 tar.bz2,可以參考後面的文章。

壓縮: bzip2 -z File
解壓縮: bzip2 -d File.bz2

gz

Gzip Wiki 上的解釋

Gzip是一種壓縮檔案格式並且也是一個在類 Unix 上的一種檔案解壓縮的軟體,通常指GNU計劃的實現,此處的gzip代表GNU zip。也經常用來表示gzip這種檔案格式。軟體的作者是Jean-loup Gailly和Mark Adler。在1992年10月31日第一次公開發布,版本號0.1,1993年2月,釋出了1.0版本。
OpenBSD中所包含的gzip版本實際上是compress
程式,其對gzip檔案的支援在OpenBSD 3.4中被添加,此處的g代表免費(gratis)[1]

跟 bzip2 一樣,我們無法進行資料夾的壓縮以及加密,如有需要必須配合 tar 一起使用。

壓縮: gzip File
解壓縮: gzip -d File.gz

rar

RAR Wiki 上的介紹

RAR是一種專利檔案格式,用於資料壓縮與歸檔打包,開發者為尤金·羅謝爾(俄語:Евгений Лазаревич Рошал,拉丁轉寫:Yevgeny Lazarevich Roshal),RAR的全名是「Roshal ARchive」,即「羅謝爾的歸檔」之意。首個公開版本RAR 1.3發布於1993年。
尤金·羅謝爾,1972年3月10日生於俄羅斯。畢業於俄羅斯車里雅賓斯克工業大學(Chelyabinsk Technical University,今南烏拉州立大學),也是FAR檔案管理器的作者。他開發程式壓縮或解壓RAR檔案,最初用於DOS,後來移植到其它平台。主要的Windows版本編碼器,稱為WinRAR,以共享軟體的形式發行。不過羅謝爾公開了解碼器原始碼,UnRAR解碼器許可證以不許發布編譯RAR相容編碼器為條件下允許有條件自由發布與修改,而RAR編碼器一直是有專利的。
最近的開發者是尤金·羅謝爾的胞兄亞歷山大·羅謝爾。雖然其解碼器有專利,編譯好的解壓程式仍然存在於若干平台,例如開源的7-Zip

基本上就跟 7z 一樣、或者說 7z 跟 rar 一樣,都可以進行加密、分割等等的操作。

壓縮: rar a -r File.rar File
加密壓縮: rar a -r File.rar File -p{dddd}
分割壓縮: rar a -r -v{dddd}m File.rar File
解壓縮: rar x File.rar

{dddd} 為可以輸入數字的部份。


xz

XZ Wiki 上的介紹

gzipbzip2一樣,同樣支援多檔案壓縮,但是約定不能將多於一個的目的檔壓縮排同一個歸檔檔案。相反,xz通常作為一種歸檔檔案自身的壓縮格式,例如使用tarcpio Unix程式建立的歸檔。xz在GNU coreutils(版本7.1或更新)[1]中被使用。xz作為壓縮軟體包被收錄在Fedora(自Fedora 12起)[2]Arch Linux[3]FreeBSDSlackware LinuxCRUXFuntoo Linux中。
壓縮: xz -z File
解壓縮: xz -d File.xz

Z

".Z" 這個結尾的副檔名我得誠實地說我從來沒有碰到 XD。之所以會寫上來還是因為在寫這篇筆記的時候剛巧查到相關資料。

基本上,這是 Linux compress 的檔案壓縮副檔名,使用 Linux 指令的 "compress" 即可壓縮與解壓縮。

壓縮: compress File
解壓縮: compress -d File

zip

ZIP Wiki 上的介紹

ZIP檔案格式是一種資料壓縮和文件儲存的檔案格式,原名Deflate,發明者為菲爾·卡茨(Phil Katz),他於1989年1月公布了該格式的資料。ZIP通常使用字尾名「.zip」,它的MIME格式為application/zip。目前,ZIP格式屬於幾種主流的壓縮格式之一,其競爭者包括RAR格式以及開放原始碼的7z格式。從效能上比較,RAR及7z格式較ZIP格式壓縮率較高,而7-Zip由於提供了免費的壓縮工具而逐漸在更多的領域得到應用。MicrosoftWindows ME作業系統開始內建對zip格式的支援,即使用戶的電腦上沒有安裝解壓縮軟體,也能開啟和製作zip格式的壓縮檔案,OS X和流行的Linux作業系統也對zip格式提供了類似的支援。因此如果在網路上傳播和分發檔案,zip格式往往是最常用的選擇。
壓縮: zip -r File.zip File
加密壓縮: zip -rP {dddd} test.zip words.txt
解壓縮: unzip File.zip

tar

tar Wiki 上的介紹

tarUnix類Unix系統上的歸檔打包工具,可以將多個文件合併為一個文件,打包後的文件名亦為「tar」。目前,tar文件格式已經成為POSIX標準,最初是POSIX.1-1988,目前是POSIX.1-2001。本程序最初的設計目的是將文件備份到磁帶上(tape archive),因而得名tar。
壓縮: tar -cvf File.tar File
解壓縮: tar -xvf File.tar

tar.bz2

這種類型的檔案基本上就是把 tar 檔案再進一步壓縮成 bzip2 檔,故原本沒法進行的歸檔壓縮 (參見上方的 bz2 的部份) 也就順理成章地實現了。

壓縮: tar -jcvf File.tar.bz2 File
解壓縮: tar -jxvf File.tar.bz2

tar.gz

與上述的 tar.bz2 同理,只是進一步壓縮的檔案為 gzip 格式。

壓縮: tar -zcvf File.tar.gz File
解壓縮: tar -zxvf File.tar.gz

tar.xz

與上述內容同理的 xz 版本。

壓縮: tar -Jcvf File.tar.xz File
解壓縮: tar -Jxvf File.xz

tar.Z

與上述內容同理的 Z 版本。

壓縮: tar -Zcvf File.tar.Z File
解壓縮: tar -Zxvf File.tar.Z

References

Tags:

Leave a Reply