天天看點

tar打包壓縮檔案指令

tar指令

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

wiki上這個圖比較形象,tar把零散的檔案合攏,gzip把合攏的檔案壓縮。

tar打包壓縮檔案指令

一、 指令文法

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**

三、使用示例

做試驗的檔案夾目錄結構

tar打包壓縮檔案指令

1、将bdir 打包成 bdir.tar

指令:<code>tar -cvf bdir.tar bdir</code>

tar打包壓縮檔案指令

打包之前是0為什麼打包之後是12k,需要研究,可能不是單純的合并。

tar打包壓縮檔案指令

2、把1.txt加入bdir.tar

指令:<code>tar -rvf bdir.tar 1.txt</code>

tar打包壓縮檔案指令

3、打包adir、bdir到bdir.tar,但不打包其中的a.txt檔案

指令:<code>tar -cvf bdir.tar --exclude bdir/a.txt adir bdir</code>

指令的語序為打包到哪個檔案,哪些東西不要,描述總體需要加進去的檔案。

tar打包壓縮檔案指令

4、檢視bdir.tar中的檔案

指令:<code>tar -tf bdir.tar</code>,該指令同時可以檢視使用-z,-j,-J打包壓縮過的檔案包中的内容

tar打包壓縮檔案指令

注意如果包中檔案過多,可在指令後加|less分屏顯示

指令:<code>tar -tf bdir.tar|less</code>

5、把bdir.tar解壓到目前目錄下

指令:<code>tar -xvf bdir.tar</code>

tar打包壓縮檔案指令

注意,解包操作會覆寫原始檔案并且不會有提示。

6、将1.txt、adir、bdir打包再用gzip壓縮(用其他壓縮方式隻需替換其中的z為j或J)

指令:<code>tar -czvf bdir.tar.gz 1.txt adir bdir</code>

tar打包壓縮檔案指令

檢視其中的内容:

指令:<code>tar -tf bdir.tar.gz</code>

tar打包壓縮檔案指令

解壓包

指令:<code>tar -xzvf bdir.tar.gz</code>

tar打包壓縮檔案指令

補充知識:單獨解壓出包中個别檔案

指令:```

cd /tmp

tar -xzvf /tarlearning/bdir.tar.gz bdir/a.txt

 本文轉自 whytl 51CTO部落格,原文連結:http://blog.51cto.com/11934539/2058466

繼續閱讀