例1。 壓縮并打包目錄
代碼如下
復制代碼
tar -czf small.tar.gz small(目錄名) ;
例2。 排除多個目錄
代碼如下
復制代碼
tar zcvf backup.tar.gz site/* –exclude=site/attach –exclude=site/images
簡單解釋一下:
ls -l | grep “^-” 用來把當前目錄下所有文件列出來,不包括子目錄;
awk ‘{print “dollar”8}’ 用來把ls和grep輸出的文件名取出來;
xargs 將前面一串的輸出,也就是一個文件名的列表組織成一個參數(shù)傳遞給tar命令。
如果只是排除一兩個目錄,可以用tar命令的–exclude= 選項。
例如排除site目錄下的attach和images目錄:
tar zcvf backup.tar.gz site/* –exclude=site/attach –exclude=site/images
例3。排除單個目錄
tar 打包目錄時排除其中某一子目錄的方法
具體的命令如下:
tar cfz ff-bb.cn.tar.gz /var/www/ff-bb.cn/ –exclude=var/www/ff-bb.cn/download
如果需要排除多個子目錄,那么就執(zhí)行
tar –exclude=var/www/ff-bb.cn/download –exclude=var/www/ff-bb.cn/download2 cfz hosteguide.com.tar.gz /var/www/hosteguide.com/
注意 –exclude后面的排除目錄后不能帶/ ,否則不起作用。
解包到指定的目錄:使用 tar 的 -C 選項,如 tar xvf newarc.tar.gz -C tmp/a/b/c。
如:按照日期備份htdocs文件。
tar –exclude=/usr/local/nginx/html/htdocs/download/backup –exclude=/usr/local/nginx/html/htdocs/othersites -czvf /usr/local/resourcebackup/resource-`date +”%Y-%m-%d_%H-%M-%S”`.tar.gz /usr/local/nginx/html/htdocs/*
例3
假設 test目錄下有 1 2 3 4 5 這5個目錄
現(xiàn)在要將 3 4 5目錄tar打包,1和2目錄不要
tar -zcvf test.tar.gz –exclude=1 –exclude=2 test
或
tar -zcvf test.tar.gz –exclude=test/1 –exclude=test/2 test
看man tar幫助,–exclude后面跟的好像是正則
注意: 要打包的test必須在命令最后,不然沒有效果.剛才郁悶了半天文章來源:http://www.zghlxwxcb.cn/news/detail-592258.html
Reference:
https://javaforall.cn/144086.html文章來源地址http://www.zghlxwxcb.cn/news/detail-592258.html
到了這里,關于linux怎么打包整個目錄,tar打包整個目錄(可排除子目錄)幾種方法[通俗易懂]的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!