tar:--exclude=".git":无法统计:没有这样的文件或目录

tar:--exclude=".git":无法统计:没有这样的文件或目录

这让我抓狂。我想要tar一个目录,但要排除一些文件。这是我的命令:

tar -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION --exclude='.git' --exclude='.gitignore'

虽然上述命令在 RedHat EL5 上有效,但在 Mac OS 10.8.2 上无效。我尝试用 、 和 替换'"\'尝试\"删除等号。但都不起作用。

我究竟做错了什么?

答案1

所有选项都需要放在参数之前,并且标志-f需要放在 tar 文件之前:

焦油-zcv \
  --exclude='.git' \
  --exclude='.gitignore' \
  -f $名称-$版本.tar.gz \
  $名称-$版本

答案2

这将给你你想要的东西:

tar czvf \
  $NAME-$VERSION.tar.gz \
  $NAME-$VERSION \
  --wildcards \
  --exclude=.git \
  --exclude=.gitignore

答案3

看起来您想过滤 .git 元目录。最简单的方法是使用--exclude-vcs排除版本控制系统 (VCS) 目录:

tar -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION --exclude-vcs

我在我的 Linux 机器上使用了“tar (GNU tar) 1.27.1”,看来 mac 的 BSD 通用命令(非 GNU 版本)不支持此选项。

相关内容