linux tar压缩排除指定文件夹

用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

    原文作者:等待破晓后"起航
    原文地址: https://blog.csdn.net/qq_44737312/article/details/124254357
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞