【Linux基礎】壓縮和解壓

wuliytTaotao發表於2018-08-04

Linux 常用的壓縮與解壓檔案型別:.tar,.gz、.tar.gz,.bz2、.tar.bz2,.Z、.tar.Z,.zip,.rar等。

Linux 常用的壓縮與解壓縮命令有:tar,gzip、gunzip,bzip2、bunzip2,compress 、uncompress, zip、 unzip,rar、unrar 等。

 

Summary: 

壓縮:

tar –cvf jpg.tar *.jpg       // 將目錄裡所有jpg檔案打包成 jpg.tar 
tar –czf jpg.tar.gz *.jpg    // 將目錄裡所有jpg檔案打包成 jpg.tar 後,並且將其用 gzip 壓縮,生成一個命名為 jpg.tar.gz 的壓縮包
tar –cjf jpg.tar.bz2 *.jpg   // 將目錄裡所有jpg檔案打包成 jpg.tar 後,並且將其用 bzip2 壓縮,生成一個命名為jpg.tar.bz2 的壓縮包
tar –cZf jpg.tar.Z *.jpg     // 將目錄裡所有jpg檔案打包成 jpg.tar 後,並且將其用 compress 壓縮,生成一個命名為jpg.tar.Z 的壓縮包
rar a jpg.rar *.jpg          // rar格式的壓縮,需要先下載 rar for linux 
zip jpg.zip *.jpg            // zip格式的壓縮,需要先下載 zip for linux

 

解壓:

tar –xvf file.tar         // 解壓 tar 包 
tar -xzvf file.tar.gz     // 解壓 tar.gz 
tar -xjvf file.tar.bz2    // 解壓 tar.bz2 
tar –xZvf file.tar.Z      // 解壓 tar.Z 
unrar e file.rar          // 解壓 rar 
unzip file.zip            // 解壓 zip 

 

小結:

1、*.tar 用 tar –xvf 解壓 
2、*.gz 用 gzip -d或者gunzip 解壓 
3、*.tar.gz和*.tgz 用 tar –xzf 解壓 
4、*.bz2 用 bzip2 -d或者用bunzip2 解壓 
5、*.tar.bz2用 tar –xjf 解壓 
6、*.Z 用 uncompress 解壓 
7、*.tar.Z 用 tar –xZf 解壓 
8、*.rar 用 unrar e 解壓 
9、*.zip 用 unzip 解壓

 

 

1. 壓縮

1.1 打包成 .tar 檔案:

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

例項:

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

# tar -cf all.tar *.jpg

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

# tar -rf all.tar *.gif

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

# tar -uf all.tar logo.gif

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

# tar -tf all.tar

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

 

tar 引數:

  這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只能用其中一個。

-c: 建立壓縮檔案 
-x:解壓 
-t:檢視內容 
-r:向壓縮歸檔檔案末尾追加檔案 
-u:更新原壓縮包中的檔案

  下面的引數是根據需要在壓縮或解壓檔案時可選的。

-z:有gzip屬性的 
-j:有bz2屬性的 
-Z:有compress屬性的 
-v:顯示所有過程 
-O:將檔案解開到標準輸出 

  下面的引數 -f 是必須的:

-f: 使用檔案名字,切記,這個引數是最後一個引數,後面只能接檔案名

  

 

1.2 壓縮成 .tar.gz 檔案

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

# tar -czf all.tar.gz *.jpg  //tar 中使用 -z 這個引數來呼叫gzip

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

 

1.3 壓縮成 .tar.bz2 檔案

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

# tar -cjf all.tar.bz2 *.jpg  //tar 中使用 -j 這個引數來呼叫 bzip2

 

1.4 壓縮成 .tar.Z 檔案

  這條命令是將所有 .jpg 的檔案打成一個 tar 包,並且將其用 compress 壓縮,生成一個 compress 壓縮過的包,包名為 all.tar.Z。

# tar -cZf all.tar.Z *.jpg  //tar 中使用 -Z 這個引數來呼叫 compress

 

1.5 壓縮成 .zip 檔案

# zip all.zip *.jpg        // 將所有 .jpg 的檔案壓縮成一個 zip 包
# zip -r filename.zip filename // 壓縮單個目錄命令
# zip -r filename.zip file1 file2 file3 /usr/work/school  // 把 file1、file2、 file3、以及 /usr/work/school 目錄的內容(假設這個目錄存在)壓縮起來,然後放入 filename.zip 檔案中

  Liunx伺服器上預設沒有安裝zip命令,所以使用時需安裝:

apt-get install zip 或  yum install zip

  Linux安裝unzip命令:

apt-get install unzip 或  yum install unzip

 

1.6 壓縮成 .rar 檔案

  要在 linux 下處理 .rar 檔案,需要安裝 RAR for Linux。下載地址:http://www.rarsoft.com/download.htm,下載後安裝即可。

# tar -xzpvf rarlinux-x64-5.6.b5.tar.gz
# cd rar 
# make

  這樣就安裝好了,安裝後就有了 rar 和 unrar 這兩個程式,rar 是壓縮程式,unrar 是解壓程式。

  這條命令是將所有 .jpg 的檔案壓縮成一個 rar 包,名為 all.rar,該程式會將 .rar 副檔名將自動附加到包名後。

# rar a all *.jpg

 

 

2.解壓

2.1 解壓 .tar 結尾的檔案:

# tar -xf all.tar  //-x 是解開的意思,-f 指定包的檔名

 

2.2 解壓 .tar.gz 或 .tgz 檔案:

# tar -xzf all.tar.gz  //-x 是解開的意思,tar 中使用 -z 這個引數來呼叫gunzip,-f 指定包的檔名
# tar -xzf all.tgz

  解壓 .gz 檔案:

gunzip all.gz

 

2.3 解壓 .tar.bz2 檔案

# tar -xjf all.tar.bz2  //-x 是解開的意思,tar 中使用 -j 這個引數來呼叫bunzip2,-f 指定包的檔名

   解壓 .bz2 檔案:

bunzip2 all.bz2   

 

2.4 解壓 .tar.Z 檔案

# tar -xZf all.tar.Z  //-x 是解開的意思,tar 中使用 -Z 這個引數來呼叫uncompress,-f 指定包的檔名

  解壓 .Z 檔案:

uncompress all.Z

 

2.5 解壓 .zip 檔案

unzip all.zip

 

2.6 解壓 .rar 檔案

  要在 linux 下處理 .rar 檔案,需要安裝 RAR for Linux。詳情請看章節1.6。

# unrar e all.rar

 

 

References

Linux tar.gz、tar、bz2、zip 等解壓縮、壓縮命令詳解




相關文章