赞
踩
有时候我们压缩文件时,不希望把该文件下的某个文件夹或文件压缩进去,我们可以使用tar --exclude命令。可是该命令文件夹路径写法需要特别注意,明明加了--exclude,可是还是把不想压缩的压缩进去了。
1、我们以一个文件夹为例,如下结构
- [pc@localhost tar_test]$ ls -a
- . .. 1.txt 2.txt 3.txt 4.txt .svn
- [pc@localhost tar_test]$ ls -a .svn/
- . .. 5.txt
2、压缩文件夹tar_test里除了.svn文件夹里所有文件
--第一种写法 tar -cvf tar_test.tar.bz2 tar_test --exclude=tar_test/.svn/
- [pc@localhost ~]$ tar -cvf tar_test.tar.bz2 tar_test --exclude=tar_test/.svn/
- tar_test/
- tar_test/.svn/
- tar_test/.svn/5.txt
- tar_test/1.txt
- tar_test/2.txt
- tar_test/3.txt
- tar_test/4.txt
从压缩打印来看居然把.svn文件夹压缩进去了,why?
--其他错误写法
- [pc@localhost ~]$ tar -cvf tar_test.tar.bz2 tar_test --exclude=/tar_test/.svn
- tar_test/
- tar_test/.svn/
- tar_test/.svn/5.txt
- tar_test/1.txt
- tar_test/2.txt
- tar_test/3.txt
- tar_test/4.txt
- [pc@localhost ~]$ tar -cvf tar_test.tar.bz2 tar_test --exclude=./tar_test/.svn
- tar_test/
- tar_test/.svn/
- tar_test/.svn/5.txt
- tar_test/1.txt
- tar_test/2.txt
- tar_test/3.txt
- tar_test/4.txt
- [pc@localhost ~]$ tar -cvf tar_test.tar.bz2 tar_test --exclude=./tar_test/.svn/
- tar_test/
- tar_test/.svn/
- tar_test/.svn/5.txt
- tar_test/1.txt
- tar_test/2.txt
- tar_test/3.txt
- tar_test/4.txt
- [pc@localhost ~]$ tar -cvf tar_test.tar.bz2 tar_test --exclude=/tar_test/.svn
- tar_test/
- tar_test/.svn/
- tar_test/.svn/5.txt
- tar_test/1.txt
- tar_test/2.txt
- tar_test/3.txt
- tar_test/4.txt
--正确写法
- ###相对路径
- [pc@localhost ~]$ tar -cvf tar_test.tar.bz2 tar_test --exclude=tar_test/.svn
- tar_test/
- tar_test/1.txt
- tar_test/2.txt
- tar_test/3.txt
- tar_test/4.txt
-
- [pc@localhost ~]$ tar -cvf tar_test.tar.bz2 tar_test --exclude=tar_test/.svn --exclude 1.txt
- tar_test/
- tar_test/2.txt
- tar_test/3.txt
- tar_test/4.txt
-
- #绝对路径
- [pc@localhost ~]$ tar -cvf tar_test.tar.bz2 ./tar_test --exclude=./tar_test/.svn
- ./tar_test/
- ./tar_test/1.txt
- ./tar_test/2.txt
- ./tar_test/3.txt
- ./tar_test/4.txt
- [pc@localhost ~]$ tar -cvf tar_test.tar.bz2 ./tar_test --exclude=tar_test/.svn
- ./tar_test/
- ./tar_test/1.txt
- ./tar_test/2.txt
- ./tar_test/3.txt
- ./tar_test/4.txt
总结
1)打包的目录使用相对路径,排除的文件只能接相对路径
2)打包的目录使用绝对路径,排除的文件接相对路径或绝对路径
3)建议打包的目录和排除的文件使用的使用路径时,保持一致,都是用绝对路径,或都是用相对路径
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。