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 上的介紹
和gzip與bzip2一樣,同樣支援多檔案壓縮,但是約定不能將多於一個的目的檔壓縮排同一個歸檔檔案。相反,xz通常作為一種歸檔檔案自身的壓縮格式,例如使用tar或cpio Unix程式建立的歸檔。xz在GNU coreutils(版本7.1或更新)[1]中被使用。xz作為壓縮軟體包被收錄在Fedora(自Fedora 12起)[2], Arch Linux[3], FreeBSD、Slackware Linux、CRUX和Funtoo 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由於提供了免費的壓縮工具而逐漸在更多的領域得到應用。Microsoft從Windows 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 上的介紹
tar是Unix和類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