tar 命令

tar

tar命令可以為linux的文件和目錄創(chuàng)建檔案。利用tar,可以為某一特定文件創(chuàng)建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加入新的文件。tar最初被用來(lái)在磁帶上創(chuàng)建檔案,現(xiàn)在,用戶(hù)可以在任何設(shè)備上創(chuàng)建檔案。利用tar命令,可以把一大堆的文件和目錄全部打包成一個(gè)文件,這對(duì)于備份文件或?qū)讉€(gè)文件組合成為一個(gè)文件以便于網(wǎng)絡(luò)傳輸是非常有用的。

首先要弄清兩個(gè)概念:打包和壓縮。打包是指將一大堆文件或目錄變成一個(gè)總的文件;壓縮則是將一個(gè)大的文件通過(guò)一些壓縮算法變成一個(gè)小文件。

為什么要區(qū)分這兩個(gè)概念呢?這源于Linux中很多壓縮程序只能針對(duì)一個(gè)文件進(jìn)行壓縮,這樣當(dāng)你想要壓縮一大堆文件時(shí),你得先將這一大堆文件先打成一個(gè)包(tar命令),然后再用壓縮程序進(jìn)行壓縮(gzip bzip2命令)。

語(yǔ)法

tar(選項(xiàng))(參數(shù))

選項(xiàng)

-A或--catenate:新增文件到以存在的備份文件;

-B:設(shè)置區(qū)塊大??;

-c或--create:建立新的備份文件;

-C <目錄>:這個(gè)選項(xiàng)用在解壓縮,若要在特定目錄解壓縮,可以使用這個(gè)選項(xiàng)。

-d:記錄文件的差別;

-x或--extract或--get:從備份文件中還原文件;

-t或--list:列出備份文件的內(nèi)容;

-z或--gzip或--ungzip:通過(guò)gzip指令處理備份文件;

-Z或--compress或--uncompress:通過(guò)compress指令處理備份文件;

-f<備份文件>或--file=<備份文件>:指定備份文件;

-v或--verbose:顯示指令執(zhí)行過(guò)程;

-r:添加文件到已經(jīng)壓縮的文件;

-u:添加改變了和現(xiàn)有的文件到已經(jīng)存在的壓縮文件;

-j:支持bzip2解壓文件;

-v:顯示操作過(guò)程;

-l:文件系統(tǒng)邊界設(shè)置;

-k:保留原有文件不覆蓋;

-m:保留文件不被覆蓋;

-w:確認(rèn)壓縮文件的正確性;

-p或--same-permissions:用原來(lái)的文件權(quán)限還原文件;

-P或--absolute-names:文件名使用絕對(duì)名稱(chēng),不移除文件名稱(chēng)前的“/”號(hào);

-N <日期格式> 或 --newer=<日期時(shí)間>:只將較指定日期更新的文件保存到備份文件里;

--exclude=<范本樣式>:排除符合范本樣式的文件。

參數(shù)

文件或目錄:指定要打包的文件或目錄列表。

實(shí)例

將文件全部打包成tar包:

tar -cvf log.tar log2012.log? ? 僅打包,不壓縮!

tar -zcvf log.tar.gz log2012.log? 打包后,以 gzip 壓縮

tar -jcvf log.tar.bz2 log2012.log? 打包后,以 bzip2 壓縮

在選項(xiàng)f之后的文件檔名是自己取的,我們習(xí)慣上都用 .tar 來(lái)作為辨識(shí)。 如果加z選項(xiàng),則以.tar.gz或.tgz來(lái)代表gzip壓縮過(guò)的tar包;如果加j選項(xiàng),則以.tar.bz2來(lái)作為tar包名。

查閱上述tar包內(nèi)有哪些文件:

tar -ztvf log.tar.gz

由于我們使用 gzip 壓縮的log.tar.gz,所以要查閱log.tar.gz包內(nèi)的文件時(shí),就得要加上z這個(gè)選項(xiàng)了。

將tar包解壓縮:

tar -zxvf /opt/soft/test/log.tar.gz

在預(yù)設(shè)的情況下,我們可以將壓縮檔在任何地方解開(kāi)的

只將tar內(nèi)的部分文件解壓出來(lái):

tar -zxvf /opt/soft/test/log30.tar.gz log2013.log

我可以透過(guò)tar -ztvf來(lái)查閱 tar 包內(nèi)的文件名稱(chēng),如果單只要一個(gè)文件,就可以透過(guò)這個(gè)方式來(lái)解壓部分文件!

文件備份下來(lái),并且保存其權(quán)限:

tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log

這個(gè)-p的屬性是很重要的,尤其是當(dāng)您要保留原本文件的屬性時(shí)。

在文件夾當(dāng)中,比某個(gè)日期新的文件才備份:

tar -N "2012/11/13" -zcvf log17.tar.gz test

備份文件夾內(nèi)容是排除部分文件:

tar --exclude scf/service -zcvf scf.tar.gz scf/*

其實(shí)最簡(jiǎn)單的使用 tar 就只要記憶底下的方式即可:

壓 縮:tar -jcv -f filename.tar.bz2 要被壓縮的文件或目錄名稱(chēng)

查 詢(xún):tar -jtv -f filename.tar.bz2

解壓縮:tar -jxv -f filename.tar.bz2 -C 欲解壓縮的目錄

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • linux中tar命令的用法原創(chuàng)kkw1992 發(fā)布于2018-04-19 10:02:39 閱讀數(shù) 17947 ...
    哆啦在這A夢(mèng)在哪閱讀 110評(píng)論 0 0
  • 通過(guò)SSH訪問(wèn)服務(wù)器,難免會(huì)要用到壓縮,解壓縮,打包,解包等,這時(shí)候tar命令就是是必不可少的一個(gè)功能強(qiáng)大的工具。...
    sngths閱讀 350評(píng)論 0 0
  • -z或--gzip或--ungzip:通過(guò)gzip指令處理備份文件; -x或--extract或--get:從備份...
    MC_Honva閱讀 341評(píng)論 0 0
  • tar命令用來(lái)進(jìn)行壓縮/解壓縮常用的有幾個(gè)參數(shù): x : 從 tar 包中釋放文件 z : 表示 tar 包是被 ...
    touch_The_Sky閱讀 414評(píng)論 0 3
  • 作用 tar命令是Unix/Linux系統(tǒng)中備份文件的可靠方法,幾乎可以工作于任何環(huán)境中,它的使用權(quán)限是所有用戶(hù)。...
    丹丹后院閱讀 585評(píng)論 0 0

友情鏈接更多精彩內(nèi)容