linux下檔案打包、壓縮詳解

Craftor發表於2014-06-27

Linux平臺下,有如下幾種常見的壓縮工具:

=========================================================================
工 具 副檔名 描述
-------------------------------------------------------------------------
bzip2 .bz2 採用Burrows-Wheeler塊排序文字壓縮演算法和霍夫曼編碼
compress .Z 原始的Unix檔案壓縮工具,逐漸消失中
gzip .gz GNU壓縮工具,用Lempel-Ziv編碼
zip .zip Windows上PKZIP工具的Unix實現
=========================================================================

1.bzip2
1)bzip2:用來壓縮檔案
2)bzcat:用來顯示壓縮的文字檔案內容
3)bunzip2:用來解壓縮.bz2檔案
4)bzip2recover:用來嘗試恢復損壞的壓縮檔案
用法:

$ bzip2 file

預設情況下,bzip2命令嘗試壓縮原始檔案,並用壓縮後的檔案(同樣的檔名加上.bz2擴充套件)替換它。
解壓:

$ bunzip2 file.bz2

如果file是文字檔案,可以用bzcat檢視:

$ bzcat file.bz2

2.gzip
1)gzip:壓縮檔案
2)gzcat:檢視壓縮過的文字檔案
3)gunzip:解壓檔案
用法跟bzip2一樣。

3.tar
tar的命令格式:

tar function [options] object1 object2

function引數定義了tar命令應該做什麼,如下表:

============================================================================
功 能 全名名稱 描 述
----------------------------------------------------------------------------
-A --concatenate 將一個已有tar歸檔檔案追加到另一個已有tar歸檔檔案
-c --create 建立一個新的tar歸檔檔案
-d --diff 檢查歸檔檔案和檔案系統的不同之處
--delete 從已有tar歸檔檔案中刪除
-r --append 追加檔案到已有tar歸檔檔案末尾
-t --list 列出已有tar歸檔檔案的內容
-u --update 將比tar歸檔檔案中已有的同名檔案新的檔案追加到該tar歸檔檔案中
-x --extract 從已有tar歸檔檔案中提取檔案
============================================================================

每個功能可用選項來針對tar歸檔檔案定義一個特定行為。下表列出了這些選項中能和tar命令一起使用的最常用的選項。

==================================================================
選 項 描 述
------------------------------------------------------------------
-C dir 切換到指定目錄
-f file 輸出結果到檔案或裝置file
-j 將輸出重定向給bzip2命令來壓縮
-p 保留所有檔案許可權
-v 在處理檔案時顯示檔案
-z 將輸出重定向給gzip命令來壓縮
==================================================================

通常,這些選項會合在一起使用。
例如,你可以用如下命令建立一個歸檔檔案:

tar -cvf test.tar test/ test2/

上面的命令建立了一個含有test和test2目錄內容的test.tar歸檔檔案。
然後,用這個命令

tar -tf test.tar

列出tar檔案test.tar的內容,但並不解壓。
最後,用下面的命令

tar -xvf test.tar

從test.tar提取內容。

相關文章