Linux tar 打包排除某些文件夾[通俗易懂]場景想要將以前的程序打包下來,但是發(fā)現(xiàn)有l(wèi)og日志,而且比較大,有幾G大。解決思路打包的時(shí)候,將某些文件夾給排除掉,只打包自己想要的文件。解決方法使用tar命令來進(jìn)行打包,并使用-exclude這個參數(shù)來排除一個文件夾。如果存在多個排除文件夾,就要寫多個參數(shù)。
創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、潁上網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為潁上等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
使用tar命令來進(jìn)行打包,并使用-exclude這個參數(shù)來排除一個文件夾。如果存在多個排除文件夾,就要寫多個參數(shù)。
tar -zcvf scheduler_20180508.tar.gz
--exclude=scheduler/lib.bk --exclude=scheduler/logs scheduler
常見錯誤
打包命令覺得沒有錯,但是還是將排除的文件夾給打包進(jìn)去了。原因之一便是在寫路徑的時(shí)候,后面跟了/,導(dǎo)致排除失敗。
失敗用法
tar -zcvf scheduler_20180508.tar.gz
--exclude=scheduler/lib.bk/ --exclude=scheduler/logs/ scheduler
正確用法
tar -zcvf scheduler_20180508.tar.gz
--exclude=scheduler/lib.bk --
可以使用zip命令的-x參數(shù)排除指定的文件。
1、舉例說明,test目錄下有1.png、2.tt、good.txt三個文件,現(xiàn)在將test目錄壓縮成test.zip,排除其目錄下的good.txt,如下圖所示。
2、執(zhí)行如下命令,排除test目錄下的good.txt文件。
zip?-r?test.zip?test?-x?"./test/good.txt"
說明:-r是遞歸壓縮,-x后面排除good.txt。
3、補(bǔ)充一下zip命令的常用參數(shù):
-r?遞歸壓縮,將指定目錄下的所有文件以及子目錄全部壓縮
-d?從壓縮文件內(nèi)刪除指定的文件
-i?“文件列表”?只壓縮文件列表中的文件
-x?“文件列表”?壓縮時(shí)排除文件列表中指定的文件
-u?更新文件到壓縮文件中
-m?將文件加入壓縮文件壓縮后,刪除原始文件,即把文件移到壓縮文件中
-F?嘗試修復(fù)損壞的壓縮文件
-T?檢查壓縮文件內(nèi)的每個文件是否正確無誤
- 壓縮級別 壓縮級別是一個1~9的數(shù)字
在用tar命令打包的時(shí)候,增加參數(shù) --exclude 就能達(dá)到目的。
例如:
以tomcat 為例,打包的時(shí)候要排除 tomcat/logs 目錄,命令如下:
tar -zcvf tomcat.tar.gz --exclude=tomcat/logs tomcat
如果要排除多個目錄,增加 --exclude 即可,如下命令排除logs和libs兩個目錄及文件xiaoshan.txt:
tar -zcvf tomcat.tar.gz --exclude=tomcat/logs --exclude=tomcat/libs --exclude=tomcat/xiaoshan.txt tomcat
這里要說一下注意事項(xiàng):
linux在使用tab鍵的時(shí)候會對目錄名稱自動補(bǔ)全,這很方便,也比較常用。
如輸入 tomcat/lo 的時(shí)候按tab鍵,命令行會自動生成 tomcat/logs/ ,對于目錄,最后會多一個 “/”。這里大家要注意的時(shí)候,在使用tar 的--exclude 命令排除打包的時(shí)候,不能加“/”,否則還是會把logs目錄以及其下的文件打包進(jìn)去。
錯誤寫法:
tar -zcvf tomcat.tar.gz --exclude=tomcat/logs/ --exclude=tomcat/libs/ tomcat
正確寫法:
tar -zcvf tomcat.tar.gz --exclude=tomcat/logs --exclude=tomcat/libs tomcat