tar指令
tar指令用于将多個檔案合成1個檔案,wiki中把這個指令和cpio、shar等一起叫做archive檔案,個人了解是歸檔,合成一個檔案,後就可以用gzip、bz2、xz等工具進行壓縮,同時也能友善在各個計算機間傳輸,有點類似windows下共享的zip檔案。
wiki上這個圖比較形象,tar把零散的檔案合攏,gzip把合攏的檔案壓縮。

一、 指令文法
tar [選項...] [FILE]...
二、 選項詳解
使用 tar --help指令能夠閱讀tar指令的詳細用法解析。
示例
tar -cf archive.tar foo bar # 從檔案 foo 和 bar 建立歸檔檔案archive.tar。
tar -tvf archive.tar # 詳細列舉歸檔檔案 archive.tar中的所有檔案。
tar -xf archive.tar # 展開歸檔檔案 archive.tar中的所有檔案。
選項
1、 主要選項:
-A, --catenate, --concatenate 追加 tar 檔案至歸檔
-c, --create 建立一個新歸檔
-d, --diff, --compare 找出歸檔和檔案系統的差異
--delete 從歸檔(非錄音帶!)中删除
-r, --append 追加檔案至歸檔結尾
-t, --list 列出歸檔内容
--test-label 測試歸檔卷标并退出
-u, --update 僅追加比歸檔中副本更新的檔案
-x, --extract, --get 從歸檔中解出檔案
2、壓縮選項
-a, --auto-compress 使用歸檔字尾名來決定壓縮程式
-I, --use-compress-program=PROG ,通過 PROG 過濾(必須是能接受 -d 選項的程式)
-j, --bzip2 通過 bzip2 壓縮歸檔
-J, --xz 通過 xz 壓縮歸檔
-z, --gzip, --gunzip, --ungzip 通過 gzip 壓縮歸檔
-Z, --compress, --uncompress 通過 compress 壓縮歸檔
3、輔助選項
-v, --verbose 詳細地列出處理的檔案
-f, --file=ARCHIVE 使用歸檔檔案或 ARCHIVE 裝置,*該選項後必須接打包的.tar**
三、使用示例
做試驗的檔案夾目錄結構
1、将bdir 打包成 bdir.tar
指令:<code>tar -cvf bdir.tar bdir</code>
打包之前是0為什麼打包之後是12k,需要研究,可能不是單純的合并。
2、把1.txt加入bdir.tar
指令:<code>tar -rvf bdir.tar 1.txt</code>
3、打包adir、bdir到bdir.tar,但不打包其中的a.txt檔案
指令:<code>tar -cvf bdir.tar --exclude bdir/a.txt adir bdir</code>
指令的語序為打包到哪個檔案,哪些東西不要,描述總體需要加進去的檔案。
4、檢視bdir.tar中的檔案
指令:<code>tar -tf bdir.tar</code>,該指令同時可以檢視使用-z,-j,-J打包壓縮過的檔案包中的内容
注意如果包中檔案過多,可在指令後加|less分屏顯示
指令:<code>tar -tf bdir.tar|less</code>
5、把bdir.tar解壓到目前目錄下
指令:<code>tar -xvf bdir.tar</code>
注意,解包操作會覆寫原始檔案并且不會有提示。
6、将1.txt、adir、bdir打包再用gzip壓縮(用其他壓縮方式隻需替換其中的z為j或J)
指令:<code>tar -czvf bdir.tar.gz 1.txt adir bdir</code>
檢視其中的内容:
指令:<code>tar -tf bdir.tar.gz</code>
解壓包
指令:<code>tar -xzvf bdir.tar.gz</code>
補充知識:單獨解壓出包中個别檔案
指令:```
cd /tmp
tar -xzvf /tarlearning/bdir.tar.gz bdir/a.txt
本文轉自 whytl 51CTO部落格,原文連結:http://blog.51cto.com/11934539/2058466