tar --exclude用法

有时候我们压缩文件时,不希望把该文件下的某个文件夹或文件压缩进去,我们可以使用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)建议打包的目录和排除的文件使用的使用路径时,保持一致,都是用绝对路径,或都是用相对路径

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值