您的位置首页百科问答

linux tar打包排除某个目录或文件

linux tar打包排除某个目录或文件

首先连接linux服务器,然后cd切换到需要打包的目录中,这里新建了几个测试文件来演示如何使用tar打包-rw-rw-r-- 1 vagrant vagrant 0 Oct 22 10:25 c.logdrwxrwxr-x 2 vagrant vagrant 4096 Oct 22 10:25 logs/-rw-rw-r-- 1 vagrant vagrant 0 Oct 22 10:25 Test.java

输入tar -czvf test.tar.gz *,星号表示当前目录下所有文件,平常我们打包默认都会使用*号来匹配所有文件,如果一个一个文件的写上太麻烦

可以使用vi test.tar.gz命令进入tar包内查看打包的文件内容,如图的打包结果可以看出,目录下面的所有文件都打进去了

一般在打包或备份应用程序的时候需要排除以上的日志文件,那么我们采用tar命令自带排除参数即可不了解tar命令的,可以输入man tar来查看帮助信息,如图--exclude=PATTERN,表示排除指定的文件

排除c.log文件tar -czvf test.tar.gz * --exclude c.log从打包结果中可以看出,c.log文件不再被打到tar包里了

如果日志文件不是一个文件而是一个目录呢,同样可以使用--exclude进行排除,还可以同时指定多个--exclude参数tar -czvf test.tar.gz * --exclude c.log --exclude logs从打包结果中可以看出,c.log文件和logs目录不再被打到tar包里了