【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

posted @ 2022-11-10 19:24  彬在俊  阅读(3860)  评论(0编辑  收藏  举报