天天看點

Linux下gzip、bzip、zip、tar壓縮指令的使用詳解

##本文所有測試均在centos6.5系統環境下完成,其他版本的檢視已壓縮檔案内容的指令可能稍微有些差別。

##注意:

  • gzip、bzip2隻壓縮檔案 
  • zip、tar壓縮目錄下所有内容,屬于歸檔檔案,相當于windows下常見壓縮檔案夾
  • gzip/bzip2/zip -[1-9] 檔案名,數字指出壓縮率,數字越大,壓縮後檔案越小
  • 所有的解壓都會将壓縮檔案解壓到與被解壓檔案的同一目錄下

1.gzip指令

  • 壓縮檔案:[gzip 檔案名]  => 檔案名.gz的壓縮檔案
  • 檢視壓縮檔案:[gzcat/zcat .gz結尾的壓縮檔案]
  • 解壓縮檔案:[gunzip .gz結尾的壓縮檔案] => 不帶.gz的同名檔案
Linux下gzip、bzip、zip、tar壓縮指令的使用詳解

 2.bzip2指令

用法與同檔案替換情況同gzip,就是bzip2壓縮後檔案更小,占用cpu和好費時間更久

  • 壓縮檔案:[bzip2 檔案名]  => 檔案名.bz2的壓縮檔案
  • 檢視壓縮檔案:[bzcat .bz2結尾的壓縮檔案]
  • 解壓縮檔案:[bunzip2 .bz2結尾的壓縮檔案 => 不帶.bz2的同名檔案
Linux下gzip、bzip、zip、tar壓縮指令的使用詳解

3.zip指令

  • 壓縮歸檔目錄:[zip -q -r 壓縮後檔案名.zip 要壓縮的目錄] => 你自定義的壓縮後檔案名.zip字尾的壓縮檔案

-q:不顯示指令執行過程

 -r:遞歸處理,将指定目錄下的所有檔案和子目錄一并處理​​​​​

Linux下gzip、bzip、zip、tar壓縮指令的使用詳解

如上圖所示,這個時候就是把/root目錄下的所有檔案都壓縮到all.zip中 ,及ls /root指令所呈現的所有檔案都壓縮至all.zip中

  • 壓縮歸檔目錄:[zip -q -r 壓縮後檔案名.zip *]

*:你所在檔案夾目錄下的所有檔案(你想壓縮./all這個目錄,就cd all,然後再執行此指令)

如下圖所示,則另外一種則是壓縮目前你所在目錄的所有檔案到all.zip中,及ls ./指令所呈現的所有檔案都壓縮至all2.zip中。

Linux下gzip、bzip、zip、tar壓縮指令的使用詳解
  • 解壓縮文檔目錄:[unzip -d 解壓到的目錄 壓縮檔案.zip]

4.tar指令 

  • 壓縮歸檔目錄:[tar -cvf 壓縮後檔案名.tar] => 你自定義的壓縮後檔案名.tar字尾的壓縮檔案

-c:建立新的tar歸檔檔案

-v:在處理檔案時顯示檔案(可帶可不帶的參數,想看處理了哪些檔案就帶上)

-f:輸出結果到檔案或者裝置檔案

Linux下gzip、bzip、zip、tar壓縮指令的使用詳解
  • 檢視壓縮歸檔的目錄:[tar -tf 壓縮後檔案名.tar]

-t:列出有的tar歸檔檔案的内容

Linux下gzip、bzip、zip、tar壓縮指令的使用詳解
  • 解壓縮歸檔:[tar -xvf 要解壓的歸檔檔案名.tar]

-x:從已有tar歸檔檔案中提取檔案

-v:在處理檔案時顯示檔案(可帶可不帶的參數,想看處理了哪些檔案就帶上)

-f:輸出結果到檔案或者裝置檔案

Linux下gzip、bzip、zip、tar壓縮指令的使用詳解

5.拓展

  • .tgz  /  .tar.gz字尾名結尾的檔案(常見)

該檔案是目錄(檔案夾)經過tar壓縮後再用gzip壓縮後得到

①先用gzip解壓,再用tar解壓,這樣比較麻煩

②直接用指令[tar -zxvf 檔案名.tgz]  /  [tar -zxvf 檔案名.tar.gz]

Linux下gzip、bzip、zip、tar壓縮指令的使用詳解

繼續閱讀