Linux 命令大全(十八)——壓縮打包


十八、 壓縮打包
  linux 下的壓縮命令有 tar gzip gunzip bzip2 bunzip2 compress uncompress zip unzip rar unrar 等等
  壓縮后的擴展名有 .tar .gz .tar.gz . tgz .bz2 .tar.bz2 .Z .tar.Z .zip .rar 10 種。
對應關系如下:
  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 解壓
在介紹壓縮文件之前呢,首先要弄清兩個概念:打包和壓縮。
  • 打包是指將一大堆文件或目錄什么的變成一個總的文件
  • 壓縮則是將一個大的文件通過一些壓縮算法變成一個小文件。
為什么要區分這兩個概念呢 ?
其實這源於 Linux 中的很多壓縮程序只能針對一個文件進行壓縮,這樣當你想要壓縮一大堆文件時,你就得 先借助其它的工具將這一大堆文件先打成一個包,然后再就原來的壓縮程序進行壓縮。

Gzip/zcat

 

Bzip2/bzcat

Tar

  Linux 下最常用的打包程序就是 tar 了,使用 tar 程序打出來的包我們常稱為 tar 包, tar 包文件的命令通 常都是以 .tar 結尾的。
  生成 tar 包后,就可以用其它的程序來進行壓縮了, tar 命令的選項有很多 ( man tar 可以查看到 ) ,但常用的就那么幾個選項,下面來舉例說明一下:
# 將所有.jpg 的文件打成一個名為 all.tar 的包
tar -cf all.tar *.jpg  # -c 是表示產生新的包,-f 指定包的文件名。

# 將所有.gif 的文件增加到 all.tar 的包里面去
tar -rf all.tar *.gif  # -r 是表示增加文件的意思。

# 更新原來 tar 包 all.tar 中 logo.gif 文件
tar -uf all.tar logo.gif  # -u 是表示更新文件的意思。

# 列出 all.tar 包中所有文件
tar -tf all.tar  # -t 是列出文件的意思

# 解出 all.tar 包中所有文件
tar -xf all.tar  # -t 是解開的意思

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
這條命令是將上面產生的包解開。

 

gzip、bzip2

  為了方便用戶在打包解包的同時可以壓縮或解壓文件,tar 提供了一種特殊的功能。這就是 tar 可以在打包或解包的同時調用其它的壓縮程序,比如調用 gzip、bzip2 等。

tar 調用 bzip2
  bzip2 是一個壓縮能力更強的壓縮程序, .bz2 結尾的文件就是 bzip2 壓縮的結果。與 bzip2 相對的解壓程 序是 bunzip2 tar 中使用 -j 這個參數來調用 gzip 。下面來舉例說明一下:
# 將所有.jpg 的文件打成一個 tar 包並且將其用 bzip2 壓縮,生成一個bzip2 壓縮過的包,包名為 all.tar.bz2
tar -cjf all.tar.bz2 *.jpg

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

 

下面對於 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
 
 

Cpio

 
 

相關知識點鏈接

 
           


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM