1下有6 7两个目录,
现在要将3 4 5 6目录tar打包,2和1下的6这两个目录不要.
命令如下:
1 2 | [www] #cd test [ test ] #tar -zcvf test.tar.gz --exclude=1/6 --exclude=2 test |
或
1 | [www] #tar -zcvf test.tar.gz --exclude=test/1/6 --exclude=test/2 test |
查看 tar –help 帮助,–exclude后面跟的是通配符或者正则表达式。这个功能也很强大,不是么。例如想排除1文件夹下的所有.log文件,那就可以这样子:
通配符:
1 | [www] #tar -zcvf test.tar.gz --exclude=test/1/*.log test |
正则:
1 | [www] #tar -zcvf test.tar.gz --exclude=/test\/1\/.*log/ test |
注意: 要打包的test文件夹或文件必须在命令最后,否则不会生效。
转载:http://digdeeply.org/archives/11271575.html
AIX系统下的排除目录打包
/oraclelog/test
# ls
1.txt 2.txt abc.txt test1 //abc.txt 文件中需要列出排除的目录名
#
test1
# 把test 目录打包,排除test1 目录(需要注意:加了-X 参数 后面的目录要和当前打包的目录一致)
# tar -cvf /oraclelog/test/tst.tar -X abc.txt /oraclelog/test
a /oraclelog/test
a /oraclelog/test/2.txt 1 blocks.
a /oraclelog/test/1.txt 1 blocks.
a /oraclelog/test/test1 (excluded)
a /oraclelog/test/abc.txt 1 blocks.
abc.tar same as archive file, not archived
1.txt 2.txt abc.txt test1 tst.tar
# tar -tvf tst.tar
drwxr-xr-x 0 0 0 4月08 17:45:15 2011 /oraclelog/test/
-rw-r--r-- 0 0 9 4月08 11:56:28 2011 /oraclelog/test/2.txt
-rw-r--r-- 0 0 9 4月08 11:56:13 2011 /oraclelog/test/1.txt
-rw-r--r-- 0 0 6 4月08 16:03:16 2011 /oraclelog/test/abc.txt
转载:http://blog.chinaunix.net/uid-14797399-id-216779.html
自己验证的路径:
1、linux suse 排除打包 排除(web文件下的uploadFiles)
tar -zcvf web_bak0629.tar.gz --exclude=uploadFiles web
2、AIX tar排除文件打包(排除/work/web/目录下的uploadFiles)
tar -cvf /work/web/web_bak0629.tar -X /work/web/web/uploadFiles /work/web