解析tar命令

2021-04-27 02:43:58 字數 3345 閱讀 6193

tar命令的用法如下。摘自「鳥哥的私房菜」。

tar [-zxcvfpp] tfile sfile

引數說明:

-z  :是否同時具有 gzip 的屬性? 

-x  :解開乙個壓縮檔案的引數指令! 

-t  :檢視 tarfile 裡面的檔案!

-c  :建立乙個壓縮檔案的引數指令 

-v  :壓縮的過程中顯示檔案! 

-f  :使用檔名,請留意,在 f 之後要立即接檔名喔!不要再加引數!

例如使用「 tar -zcvfp tfile sfile」就是錯誤的寫法,要寫成「tar -zcvpf tfile sfile」。

-p  :使用原檔案的原來屬性(屬性不會依據使用者而變) 

-p  :可以使用絕對路徑 

-n  :比後面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的檔案中! 

--exclude file:在壓縮的過程中,不要將 file 打包!

使用tar命令時,要注意絕對路徑和相對路徑的區別。預設的情況使用的是相對路徑。如下列。

【例1】

[flagonxia@localhost flagonxia]$ pwd

/home/flagonxia

[flagonxia@localhost flagonxia]$ ls -l

drwxrwxr-x    2 flagonxia flagonxia     4096  1月 12 00:35 awk_stu

生成tar檔案:

[flagonxia@localhost flagonxia]$ tar -cvf awk_stu_lc.tar /home/flagonxia/awk_stu

tar: removing leading `/' from member names

home/flagonxia/awk_stu/

home/flagonxia/awk_stu/awkeg.txt

home/flagonxia/awk_stu/awk88_10

檢視一下tar檔案裡的內容

[flagonxia@localhost flagonxia]$ tar -tvf awk_stu_lc.tar

drwxrwxr-x flagonxia/flagonxia 0 2009-01-12 00:35:15 home/flagonxia/awk_stu/

-rw-rw-r-- flagonxia/flagonxia 483 2009-01-09 18:54:22 home/flagonxia/awk_stu/awkeg.txt

-rw-rw-r-- flagonxia/flagonxia  62 2009-01-09 19:16:13 home/flagonxia/awk_stu/awk88_10

在生成tar檔案時,指定的源目錄是/home/flagonxia/awk_stu,但是由於預設是使用相對路徑,歸檔到tar裡的檔案路徑都成了home/flagonxia/awk_stu/...,第乙個/被刪除了。

把tar檔案拷貝到./test中,並展開。

[flagonxia@localhost test]$ pwd

/home/flagonxia/test

[flagonxia@localhost test]$ ls -l

-rw-rw-r--    1 flagonxia flagonxia    10240  1月 12 01:03 awk_stu_lc.tar

[flagonxia@localhost test]$ tar -xvf awk_stu_lc.tar

[flagonxia@localhost test]$ ls -l

-rw-rw-r--    1 flagonxia flagonxia    10240  1月 12 01:03 awk_stu_lc.tar

drwxrwxr-x    3 flagonxia flagonxia     4096  1月 12 01:08 home

在test目錄裡產生了乙個home子目錄,該目錄的結構是/home/flagonxia/awk_stu。

[flagonxia@localhost awk_stu]$ pwd

/home/flagonxia/test/home/flagonxia/awk_stu

[flagonxia@localhost awk_stu]$ ls -l

-rw-rw-r--    1 flagonxia flagonxia       62  1月  9 19:16 awk88_10

-rw-rw-r--    1 flagonxia flagonxia      483  1月  9 18:54 awkeg.txt

【例2】使用絕對路徑

[flagonxia@localhost flagonxia]$ tar -cvpf awk_stu_ab.tar /home/flagonxia/awk_stu

/home/flagonxia/awk_stu/

/home/flagonxia/awk_stu/awkeg.txt

/home/flagonxia/awk_stu/awk88_10

-p引數指定在生成tar檔案時使用絕對路徑。檢視一下tar檔案裡的內容。

[flagonxia@localhost flagonxia]$ tar -tvf awk_stu_ab.tar

drwxrwxr-x flagonxia/flagonxia 0 2009-01-12 00:35:15 /home/flagonxia/awk_stu/

-rw-rw-r-- flagonxia/flagonxia 483 2009-01-09 18:54:22 /home/flagonxia/awk_stu/awkeg.txt

-rw-rw-r-- flagonxia/flagonxia  62 2009-01-09 19:16:13 /home/flagonxia/awk_stu/awk88_10

檔案都是以絕對路徑的形式出現,如/home/flagonxia/awk_stu/awkeg.txt

把awk_stu_ab.tar拷貝到test目錄裡,然後展開

[flagonxia@localhost test]$ pwd

/home/flagonxia/test

[flagonxia@localhost test]$ tar -xvpf awk_stu_ab.tar

/home/flagonxia/awk_stu/

/home/flagonxia/awk_stu/awkeg.txt

/home/flagonxia/awk_stu/awk88_10

tar檔案其實展開到了/home/flagonxia/awk_stu下,把原來的檔案給覆蓋了。這裡注意,在展開tar檔案時,也要使用p引數,否則tar只是把檔案展開在/home/flagonxia/test/awk_stu中。

Linux下tar命令解析

tar cxtzjvfppn 檔案與目錄 引數 c 建立乙個壓縮檔案的引數指令 create的意思 x 解開乙個壓縮檔案的引數指令 t 檢視tarfile裡面的檔案 特別注意,在引數的下達中,c x t僅能存在乙個!不可同時存在!因為不可能同時壓縮與解壓縮。z 是否同時具有gzip的屬性,亦即是否需...

tar用法例項 tar命令

tar 檔案是幾個檔案和 或 目錄在乙個檔案中的集合。這是建立備份和歸檔的佳徑。tar 使用的選項有 c 建立乙個新歸檔。f 當與 c 選項一起使用時,建立的 tar 檔案使用該選項指定的檔名 當與 x 選項 一起使用時,則解除該選項指定的歸檔。t 顯示包括在 tar 檔案中的檔案列表。v 顯示檔案...

C C 解析tar檔案

3 tar檔案解包實現 4 參考文章 tar檔案是一種打包檔案 非壓縮檔案 在電腦上我們經常能看到的一種檔案,是將多個檔案打包成乙個檔案,以方便拷貝和傳輸。在嵌入式系統中,tar檔案也是使用較為廣泛。假設我們現在有乙個這樣的控制系統,乙個主控裝置管理器,下面通過乙太網 rs232 rs485連線著多...