linux怎么打包整个目录,tar打包整个目录(可排除子目录)几种方法
這篇文章小編給大家分享一下linux tar打包目錄與有條件打包目錄命令,想知道的小伙伴們趕快來看看吧!
例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 將前面一串的輸出,也就是一個文件名的列表組織成一個參數傳遞給tar命令。
如果只是排除一兩個目錄,可以用tar命令的--exclude= 選項。
例如排除site目錄下的attach和images目錄:
tar zcvf backup.tar.gz site/* --exclude=site/attach --exclude=site/images
例2
tar 打包目錄時排除其中某一子目錄的方法
具體的命令如下:
代碼如下
復制代碼
tar cfz ff-bb.cn.tar.gz /var/www/ff-bb.cn/ --exclude=var/www/ff-bb.cn/download
如果需要排除多個子目錄,那么就執行
代碼如下
復制代碼
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。
如:
代碼如下
復制代碼
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個目錄
現在要將 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必須在命令最后,不然沒有效果.剛才郁悶了半天
總結
以上是生活随笔為你收集整理的linux怎么打包整个目录,tar打包整个目录(可排除子目录)几种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 模糊控制 之 模糊集,隶属函数,模糊关系
- 下一篇: 使用PyHive操作Hive