壓縮與解壓

此頁由 Linux Wiki用戶Chenxing 於 2016年3月5日 (星期六) 06:15 的最後更改。 在复制粘贴陈明亮的工作基礎上。

出自Linux Wiki

提示:此文已超过 8 年(2973 天)未更新,如发现内容过时或有误,欢迎改进:)

本文介紹Linux環境中處理rarzipgzbz2tar等常見壓縮/歸檔文件的方法。如果你只是想了解解壓所用的命令,請直接參考文末的總結表

如果你使用圖形界面,可考慮GNOMEfile-roller或KDE的Ark,配合下述提到的軟件包使用。

目錄

7z

7-Zip 是“一款擁有極高壓縮比的開源壓縮軟件”[1],它也可以處理 zip 等常見壓縮格式。

# 解压文件,保留子文件夹结构
7z x 文件名
 
# 解压文件,但不创建任何子文件夹
7z e 文件名

使用 7z 和 convmv 可以解決 zip 文件的中文亂碼問題,見 中文文件名亂碼問題#處理zip文件亂碼

rar

在Linux中可方便處理rar文件。如果只是解壓,可安裝unrar。unrar是RARLAB公開了源碼的工具[2]

# 解压rar文件,保留子文件夹结构
unrar x rar文件名
 
# 解压rar文件,但不创建任何子文件夹
unrar e rar文件名
 
# 查看帮助
unrar h

如果需要製作rar文件,可以安裝rar軟件包併購買相應許可。rar也具備unrar功能,用法同上,只需把unrar換成rar即可。

zip

info-zip提供了自由的zip文件處理方案,一般可以從系統中安裝zipunzip

unzip zip文件名

值得一提的是,如果zip中包括非UTF-8編碼的中文文件名文件,解壓結果中會出現亂碼,解決該亂碼問題請參考文件名編碼轉換

同樣由於潛在的文件名編碼問題,不建議在Linux中打zip包供Windows用戶使用。

tar

tar實際上是個打包工具,將一些文件存放在一個單獨的文件中,並不做壓縮。[3]而真正的壓縮是其與gzip或bzip2等工具配合完成的,故常見的後綴名為.tar.gz, .tar.bz2,解壓方法:

tar xvf sample.tar
tar xvfz sample.tar.gz
tar xvfj sample.tar.bz2

幾個參數中,x表示解壓,v表示顯示詳細信息(可選),f表示從文件輸入,z表示文件是經gzip壓縮的,j表示文件是經bz2壓縮的。

Hint.gif
提示:
較新版本的tar已經支持自動檢測壓縮方式,z或j參數可省去。

如需在Linux中創建壓縮文件,推薦使用自由的tar與gzip組合,生成的文件同樣兼容Windows中的常見壓縮軟件。例:

# 把MY_DIRS、MY_FILES打包并压缩成TARFILE.tar.gz文件
tar cvfz TARFILE.tar.gz MY_DIRS MY_FILES

bzip2

bzip2的壓縮效果通常不錯,但速度要慢一些[4],後綴為bz2

Hint.gif
提示:
bzip2和下面講要討論的gzip都是針對單個文件的壓縮工具,配合前述的tar可以實現多文件歸檔。
# 压缩并删除文件"sample",生成"sample.gz2"
bzip2 sample
 
# 解压并删除bz2文件:
bunzip2 sample.bz2
 
# 解压但保留bz2文件:
bunzip2 -k sample.bz2
 
# 解压并输出bz2文件到屏幕:
bzcat sample.bz2
Hint.gif
提示:
bzip2的2是為了區別於受專利問題影響的、使用算術編碼的老bzip版本。

gzip

gzip是Linux下常見的壓縮格式,它的壓縮速度相對bzip2而言要快一些。解壓gzip文件:

# 压缩并删除文件"sample",生成"sample.gz"
gzip sample
 
# 解压并删除gz文件:
gunzip sample.gz
 
# 解压并输出gz文件到屏幕:
zcat sample.gz

總結表

常見壓縮格式壓縮與解壓方法

文件後綴 解壓命令 壓縮命令
.zip (需要zip)
unzip File.zip
zip File.zip DirName
.rar (需要rar)
rar x File.rar
rar a File.rar
.tar (打包,不是壓縮)
tar xvf File.tar
tar cvf File.tar DirName
.tar.gz, .tgz
tar zxvf File.tar.gz
tar zcvf File.tar.gz DirName
.tar.bz2, .tar.bz
tar jxvf File.tar.bz2
tar jcvf File.tar.bz2 Dir
.tar.Z
tar Zxvf File.tar.Z
tar Zcvf File.tar.Z DirName
.gz
gunzip File.gz
gzip File
.Z
uncompress File.Z
compress File
.bz2 (需要bzip2)
bunzip2 File.bz
bzip2 File

相關資料

  1. 7-Zip
  2. WinRAR archiver: Extras
  3. Wikipedia Tar
  4. Wikipedia: bzip2

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。
简体繁体转换