有tar打包,有时候需要排除某个文件,本文档提供两种方法来操作。 |
方法一
[root@system1 testdir]# touch 1 2 3 4 5 6 7 b [root@system1 testdir]# ls 1 2 3 4 5 6 7 b [root@system1 testdir]# tar zcvf a.tar.gz ./* --exclude b #排除b文件 ./1 ./2 ./3 ./4 ./5 ./6 ./7 [root@system1 testdir]# ls 1 2 3 4 5 6 7 a.tar.gz b [root@system1 testdir]# mv a.tar.gz /tmp/test [root@system1 testdir]# ls 1 2 3 4 5 6 7 b [root@system1 testdir]# cd .. [root@system1 tmp]# cd test [root@system1 test]# ls a.tar.gz [root@system1 test]# tar -xvf a.tar.gz ./1 ./2 ./3 ./4 ./5 ./6 ./7 [root@system1 test]# ls 1 2 3 4 5 6 7 a.tar.gz
方法二
[root@system1 testdir]# ls 1 2 3 4 5 6 7 b [root@system1 testdir]# find ./ -type f ! -name 'b' | xargs tar caf a.tar.gz #排除b文件 [root@system1 testdir]# ls 1 2 3 4 5 6 7 a.tar.gz b [root@system1 testdir]# mv a.tar.gz /tmp/test [root@system1 testdir]# cd /tmp/test [root@system1 test]# ls a.tar.gz [root@system1 test]# tar -xvf a.tar.gz ./1 ./2 ./3 ./4 ./5 ./6 ./7 [root@system1 test]# ls 1 2 3 4 5 6 7 a.tar.gz