【linux】linux tar去掉/排除某个文件夹打压缩包方法
前言
一般直接用tar命令打包很简单,直接使用 tar -zcvf test.tar.gz test
即可。
但是在很多情况下,我们要对某一个目录打包,而这个目录下有几十个子目录和子文件,我们需要在打包的时候排除其中1、2个目录或文件。
这时候我们在用tar命令打包的时候,增加参数 --exclude
就能达到目的。
实践
如我们打包presto服务,我们需要去掉logs目录
tar -zcvf presto.tar.gz --exclude=presto/logs presto
如果要排除多个目录,增加 --exclude 即可,如下命令排除logs和oldlib两个目录及文件mylib.tar.gz:
tar -zcvf presto.tar.gz --exclude=presto/logs --exclude=presto/oldlib --exclude=presto/mylib.tar.gz presto
这里要注意一个点,在我们使用tar 的–exclude 命令排除打包的时候,不能加“/”,否则还是会把logs目录以及其下的文件打包进去。
错误写法:
tar -zcvf presto.tar.gz --exclude=presto/logs/ presto
正确写法:
tar -zcvf presto.tar.gz --exclude=presto/logs presto
参考转载:https://blog.csdn.net/weixin_39997664/article/details/116558992