Linux下壓縮與解壓

2021-07-27 14:38:03 字數 3119 閱讀 5083

**:

[在解壓或壓縮的時候,一般還使用-v選項來現實正在處理的檔案資訊]

linux下壓縮與解壓

一 壓縮和解壓簡介

對於剛剛接觸linux的人來說,一定會給linux下一大堆各式各樣的檔名給搞暈。別個不說,單單就壓縮檔案為例,我們知道在windows下最常見的壓縮檔案就只有兩種,一是,zip,另乙個是.rar。可是linux就不同了,它有.gz、.tar.gz、tgz、bz2、.z、.tar等眾多的壓縮檔案名,此外windows下的.zip和.rar也可以在linux下使用,不過在linux使用.zip和.rar的人就太少了。本文就來對這些常見的壓縮檔案進行一番小結,希望你下次遇到這些檔案時不至於被搞暈:)

在具體總結各類壓縮檔案之前呢,首先要弄清兩個概念:打包和壓縮。打包是指將一大堆檔案或目錄什麼的變成乙個總的檔案,壓縮則是將乙個大的檔案通過一些壓縮演算法變成乙個小檔案。為什麼要區分這兩個概念呢?其實這源於linux中的很多壓縮程式只能針對乙個檔案進行壓縮,這樣當你想要壓縮一大堆檔案時,你就得先借助另它的工具將這一大堆檔案先打成乙個包,然後再就原來的壓縮程式進行壓縮。

二 tar簡介

linux下最常用的打包程式就是tar了,使用tar程式打出來的包我們常稱為tar包,tar包檔案的命令通常都是以.tar結尾的。生成tar包後,就可以用其它的程式來進行壓縮了,所以首先就來講講tar命令的基本用法:

tar命令的選項有很多(用man tar可以檢視到),但常用的就那麼幾個選項,下面來舉例說明一下:

# tar -cf all.tar *.jpg  這條命令是將所有.jpg的檔案打成乙個名為all.tar的包。-c是表示產生新的包,-f指定包的檔名。

# tar -rf all.tar *.gif  這條命令是將所有.gif的檔案增加到all.tar的包裡面去。-r是表示增加檔案的意思。

# tar -uf all.tar logo.gif  這條命令是更新原來tar包all.tar中logo.gif檔案,-u是表示更新檔案的意思。

# tar -tf all.tar  這條命令是列出all.tar包中所有檔案,-t是列出檔案的意思。

# tar -xf all.tar  這條命令是解出all.tar包中所有檔案,-x是解開的意思

三 tar/gzip/bzip2結合使用

以上就是tar的最基本的用法。為了方便使用者在打包解包的同時可以壓縮或解壓檔案,tar提供了一種特殊的功能。這就是tar可以在打包或解包的同時呼叫其它的壓縮程式,比如呼叫gzip、bzip2等。

1) tar呼叫gzip

gzip是gnu組織開發的乙個壓縮程式,.gz結尾的檔案就是gzip壓縮的結果。與gzip相對的解壓程式是gunzip。tar中使用-z這個引數來呼叫gzip。下面來舉例說明一下:

# tar -czf all.tar.gz *.jpg  這條命令是將所有.jpg的檔案打成乙個tar包,並且將其用gzip壓縮,生成乙個gzip壓縮過的包,包名為all.tar.gz

# tar -xzf all.tar.gz  這條命令是將上面產生的包解開。

2) tar呼叫bzip2

bzip2是乙個壓縮能力更強的壓縮程式,.bz2結尾的檔案就是bzip2壓縮的結果。與bzip2相對的解壓程式是bunzip2。tar中使用-j這個引數來呼叫gzip。下面來舉例說明一下:

# tar -cjf all.tar.bz2 *.jpg  這條命令是將所有.jpg的檔案打成乙個tar包,並且將其用bzip2壓縮,生成乙個bzip2壓縮過的包,包名為all.tar.bz2

# tar -xjf all.tar.bz2  這條命令是將上面產生的包解開。

3)tar呼叫compress

compress也是乙個壓縮程式,但是好象使用compress的人不如gzip和bzip2的人多。.z結尾的檔案就是bzip2壓縮的結果。與 compress相對的解壓程式是uncompress。tar中使用-z這個引數來呼叫gzip。下面來舉例說明一下:

# tar -czf all.tar.z *.jpg  這條命令是將所有.jpg的檔案打成乙個tar包,並且將其用compress壓縮,生成乙個uncompress壓縮過的包,包名為all.tar.z

# tar -xzf all.tar.z  這條命令是將上面產生的包解開

四 小結

有了上面的知識,你應該可以解開多種壓縮檔案了,下面對於tar系列的壓縮檔案作乙個小結:

1)對於.tar結尾的檔案

tar -xf all.tar

2)對於.gz結尾的檔案

gzip -d all.gz

gunzip all.gz

3)對於.tgz或.tar.gz結尾的檔案

tar -xzf all.tar.gz

tar -xzf all.tgz

4)對於.bz2結尾的檔案

bzip2 -d all.bz2

bunzip2 all.bz2

5)對於tar.bz2結尾的檔案

tar -xjf all.tar.bz2

6)對於.z結尾的檔案

uncompress all.z

7)對於.tar.z結尾的檔案

tar -xzf all.tar.z

五 zip/rar壓縮解壓

另外對於window下的常見壓縮檔案.zip和.rar,linux也有相應的方法來解壓它們:

1)對於.zip

linux下提供了zip和unzip程式,zip是壓縮程式,unzip是解壓程式。它們的引數選項很多,這裡只做簡單介紹,依舊舉例說明一下其用法:

# zip all.zip *.jpg  這條命令是將所有.jpg的檔案壓縮成乙個zip包

# unzip all.zip  這條命令是將all.zip中的所有檔案解壓出來

# tar -xzpvf rarlinux-3.6.0.tar.gz

# cd rar

# make

這樣就安裝好了,安裝後就有了rar和unrar這兩個程式,rar是壓縮程式,unrar是解壓程式。它們的引數選項很多,這裡只做簡單介紹,依舊舉例說明一下其用法:

# rar a all *.jpg  這條命令是將所有.jpg的檔案壓縮成乙個rar包,名為all.rar,該程式會將.rar 擴充套件名將自動附加到包名後。

# unrar e all.rar  這條命令是將all.rar中的所有檔案解壓出來

六 結尾完!

Linux 下壓縮與解壓縮

此類檔案適用於tar命令,tar是linux中常用的打包命令,常稱為tar包。示例 將filename.txt的檔案打包成乙個命名為filenam.tar的包。其中 f是指定包的名稱 root hm311 tar cf filename.tar filename.txt 將filename.txt的...

linux下壓縮與解壓縮

常用壓縮命令 gz gzip 壓縮工具的檔案 bz2 bzip2 壓縮工具的檔案 tar tar 打包程式打包的檔案 tar並沒有壓縮功能,只是把乙個目錄合併成乙個檔案 tar.gz 可以理解為先用 tar 打包,然後在 gzip 壓縮 tar.bz2 先用 tar 打包,在 bzip2 壓縮 zi...

Linux下壓縮與解壓縮

zip可能是目前使用得最多的文件壓縮格式。它最大的優點就是在不同的作業系統平台,比如linux,windows以及mac os,上使用。缺點就是支援的壓縮率不是很高,而tar.gz和tar.gz2在壓縮率方面做得非常好。我們可以使用下列的命令壓縮乙個目錄 zip r archive name.zip...