用tar命令打包,直接使用 tar -zcvf test.tar.gz test 即可。
但在某些情况下,我们想要对某一个目录打包,而这个目录下有几十个子目录和子文件,且这里面有部分子文件夹我们并不需要,但也不能直接删除。这时候我们需要在打包的时候排除其中1、2个目录或文件。
这时候用tar命令增加参数 –exclude即可。
例如,对BenchmarkSQL打包,打包的时候我们要排除 BenchmarkSQL/logs 目录
tar -zcvf BenchmarkSQL.tar.gz --exclude=benchmarksql-5.0/logs benchmarksql-5.0
如需排除多个目录,增加 –exclude 即可,如下命令排除logs和src两个目录及文件nohup.out
tar -zcvf BenchmarkSQL.tar.gz –exclude=benchmarksql-5.0/logs –exclude=benchmarksql-5.0/src –exclude=benchmarksql-5.0/nohup.out benchmarksql-5.0
注意事项:
使用tar 的–exclude 命令排除打包的时候,不能加“/”,否则还是会把logs目录以及其下的文件打包进去。
#错误写法 tar -zcvf BenchmarkSQL.tar.gz --exclude=benchmarksql-5.0/logs/ benchmarksql-5.0 #正确写法 tar -zcvf BenchmarkSQL.tar.gz --exclude=benchmarksql-5.0/logs benchmarksql-5.0