很多情况下,我们要对某一个目录打包,而这个目录下有几十个子目录和子文件,我们需要在打包的时候排除其中1、2个目录或文件
我们打包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 已验证