使用 .tarignore 文件从 tar 中排除目录#2

问题描述

这是一个基于this post of a similar name

的重复帖子

我无法让这种方法起作用,所以我想弄清楚是我做错了什么还是这不起作用。

我在我的 .tarignore 主目录中创建了 ~

.tarignore 中,我尝试了多种方法,这是当前的尝试:

dirname/
dirname/*
/home/ubuntu/dirname/
/home/ubuntu/dirname/*
*.js

然后我从 ~ 主目录运行此命令

tar -zcvf cur.tar.gz /home/ubuntu/dirname --exclude-ignore-recursive=.tarignore

我相信这绝对不会导致任何东西被 tar 压缩,但详细的输出显示 dirname/ 中的文件.js 文件都被 tar 压缩。

坚持了一段时间,希望我只是在做一些愚蠢的事情:/

编辑:我在 Ubuntu 18.04 上运行这个

解决方法

所以我做错了 - 参数的顺序不正确。我还根据 @Cyrus 的评论切换到 --exclude-from,它似乎工作正常。

tar -zcvf cur.tar.gz --exclude-from=.tarignore /home/ubuntu/dirname

以及来自 .tarignore 文件的示例:

# Ignore these paths
build/*
node_modules/*
.git/*