華文網

UNIX檔目錄管理基本命令之tar文件合併或抽取

3.1tar(tape file archiver)檔合併或抽取

格式:tar c[bBDeEfFhiklnopPqvwX@[0-7]] [block] [tarfile] [exclude-file] {-I include-file | -C directory | file |file} ...

tar r[bBDeEfFhiklnqvw@[0-7]] [block] {-I include-file |-C directory | file | file} ...

tar t[BefFhiklnqvX[0-7]] [tarfile] [exclude-file] {-I include-file | file} ...

tar u[bBDeEfFhiklnqvw@[0-7]] [block] [tarfile] file...

tar x[BefFhiklmnopqvwX[0-7]] [tarfile] [exclude-file] [file...]

說明:tar的作用是把若干檔寫到一個檔案檔中,或者是從一個 tar格式的檔案檔中提取出其中所保存的全部或部分檔。保存 tar檔案檔的通常是某種磁帶,但實際上檔案可以按任一種形式的檔存儲。

tar通過 c, r, t, u, x這五個關鍵字來實現對檔案檔的不同處理。在命令列中指定的檔案名參數均指定待歸檔或從檔案中提取的檔。並且若指定的檔案名是一個目錄名稱,那麼 tar實際上將對該目錄下所有檔及子目錄進行處理。

選項解釋b該選項指示 tar將 Block參數的值作為磁帶記錄的分塊因數。缺省的分塊因數為l,最大值為200。在檔案檔為普通檔或塊設備檔時不應使用此選項。
但向原始磁帶這類存放裝置歸檔時則必須指定此選項及 Block的值B該選項指示 tar在需要時進行多次讀操作以獲取填滿一個資料塊所需要的資料。此選項主要用於 tar從網路上或管道中獲取輸入資料的情形e指示 tar在遇到錯誤時立即以某個正的返回狀態退出i指示 tar忽略目錄校驗和錯I指示 tar在它無法轉換到被歸檔的檔的連結時顯示錯誤資訊。若不指定 I,
tar將不顯示錯誤提示m指示 tar不再從檔案中獲取被提取出的檔的修改時間,而將這些檔的修改時間設成被提取時的時間。此選項只有同 x關鍵字聯用才是有效的o指示 tar將被提取出的檔的擁有者及所屬組修改為運行 tar x命令(提取檔案中檔)的那個使用者的使用者標識及所屬組。對於非超級用戶的那些用戶而言,這一點是缺省的。但若超級用戶在提取檔時若沒指定。選項,此時被提取出的文件將保留其原有的擁有者標識及所屬組標識。
o選項也只同 x關健宇聯用時才有效p將指定待提取的檔案修復為其原有存取權限設置,而不管當前 Shell的 umask設置為何,對於超級用戶,檔的有效使用者標識(SetUID位元)和粘著位元資訊也將被提取出來。此選項也只有在同 x選項聯用時才有效v通常情況下, tar是比較“寡言少語”的;它只是靜靜地幹它的工作,而不給出它到底作了些什麼。
指定此選項我們可以讓 tar顯示出它所處理的每一個檔的名稱。對於關鍵字 t, v選項使 tar除了給出檔案名之外還將給出檔的存取權限等其他資訊w此選項將使 tar在完成實際操作之前,先顯示出待完成的動作,然後是被處理的檔案名稱,等待用戶確認。如果用戶問答 y,那麼 tar將對相應檔執行相應的動作。否則將不執行。此選項同 t關鍵字聯用時是無效的X此選項同 c, x, t關鍵宇聯用,
它指示 tar把名稱在 ExcludeFilename中的那些檔排除在檔案檔之外。這裡 ExclndeFilenalne為一個檔,其中包含有若干個檔案名。我們可以使用多個 X選項,只需與每個 X有一個相應的 ExcludeFilename即可。但應注意的是 ExcludeFilename中的檔案名必須與檔案中所記錄的檔案名完全一樣。下面我們將說到這個問題[0-7]選擇一個可替換的其上安裝有磁帶的設備檔案名。與每個數相應的設備檔記錄在/etc/default/tar中-I IncludeFilename指定此選項的效果與指定 Filenamebll參數的效果相同。IncludeFilename的內容同前面說過的 ExcludeFilename類似,也是每行一個檔案名。 tar在處理-I IncludeFilename時,對 IncludeFilename中的每一個檔案名,將把它當作是單獨出現在命令列上的 Filename一樣。但應注意,如果某個檔案名同時在 ExcludeFilename中和 IncludeFilename或 Filename.中出現了,此時 tar將仍把該檔排除在外-C Directory Filename該選項可出現在 tar c或 tar r命令中。此時 tar在查找寫到檔案中的檔時,將先轉至目錄 Directory,然後將該目錄下的 Filename寫至檔案檔中。—C選項可以有多個。這使得我們可以用較短的相對路徑名將不具有共同父目錄的多個目錄中的檔寫到檔案裡

常用格式示例:

使用tar -cvf tmp-doc.tar tmp_doc命令將當前操作目錄下tmp_doc目錄合併為tmp_doc.tar文件,如下圖

然後可以同過gzip命令壓縮檔生成.gz壓縮檔;再次使用檔可以通過gzip -d *.gz檔案名解壓檔,再通過tar -xvf *.tar釋放合併檔。tar命令參數選項和格式變化較多,在此僅給出常用格式,如需詳細瞭解可參考其他文檔。

弈安傳媒科技微課堂,每天分享財經資訊,電腦技術知識,人生感悟,創業指導以及各種專業技術知識資料學習交流.移動學習平臺、知識分享平臺。隨時隨地的學習,如果你喜歡成長,這裡你不容錯過的地方.弈安傳媒科技培訓關注:關注自己成長,分享內容,分享自己的技術,成就未來.

IncludeFilename的內容同前面說過的 ExcludeFilename類似,也是每行一個檔案名。 tar在處理-I IncludeFilename時,對 IncludeFilename中的每一個檔案名,將把它當作是單獨出現在命令列上的 Filename一樣。但應注意,如果某個檔案名同時在 ExcludeFilename中和 IncludeFilename或 Filename.中出現了,此時 tar將仍把該檔排除在外-C Directory Filename該選項可出現在 tar c或 tar r命令中。此時 tar在查找寫到檔案中的檔時,將先轉至目錄 Directory,然後將該目錄下的 Filename寫至檔案檔中。—C選項可以有多個。這使得我們可以用較短的相對路徑名將不具有共同父目錄的多個目錄中的檔寫到檔案裡

常用格式示例:

使用tar -cvf tmp-doc.tar tmp_doc命令將當前操作目錄下tmp_doc目錄合併為tmp_doc.tar文件,如下圖

然後可以同過gzip命令壓縮檔生成.gz壓縮檔;再次使用檔可以通過gzip -d *.gz檔案名解壓檔,再通過tar -xvf *.tar釋放合併檔。tar命令參數選項和格式變化較多,在此僅給出常用格式,如需詳細瞭解可參考其他文檔。

弈安傳媒科技微課堂,每天分享財經資訊,電腦技術知識,人生感悟,創業指導以及各種專業技術知識資料學習交流.移動學習平臺、知識分享平臺。隨時隨地的學習,如果你喜歡成長,這裡你不容錯過的地方.弈安傳媒科技培訓關注:關注自己成長,分享內容,分享自己的技術,成就未來.