用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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐