1般直接用tar命令打包很簡(jiǎn)單,直接使用 tar -zcvf test.tar.gz test 便可。
在很多時(shí)候,我們要對(duì)某1個(gè)目錄打包,而這個(gè)目錄下有幾10個(gè)子目錄和子文件,我們需要在打包的時(shí)候排除其中1、2個(gè)目錄或文件。
這時(shí)候候我們?cè)谟胻ar命令打包的時(shí)候,增加參數(shù) --exclude 就可以到達(dá)目的。
例如:
我們以tomcat 為例,打包的時(shí)候我們要排除 tomcat/logs 目錄,命令以下:
tar -zcvf tomcat.tar.gz --exclude=tomcat/logs tomcat
如果要排除多個(gè)目錄,增加 --exclude 便可,以下命令排除logs和libs兩個(gè)目錄及文件xiaoshan.txt:
tar -zcvf tomcat.tar.gz --exclude=tomcat/logs --exclude=tomcat/libs --exclude=tomcat/xiaoshan.txt tomcat
這里要說(shuō)1下注意事項(xiàng):
大家都知道linux在使用tab鍵的時(shí)候會(huì)對(duì)目錄名稱自動(dòng)補(bǔ)全,這很方便,大家也比較經(jīng)常使用。
如我們輸入 tomcat/lo 的時(shí)候按tab鍵,命令行會(huì)自動(dòng)生成 tomcat/logs/ ,對(duì)目錄,最后會(huì)多1個(gè) “/”
這里大家要注意的時(shí)候,在我們使用tar 的--exclude 命令排除打包的時(shí)候,不能加“/”,否則還是會(huì)把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