这让我抓狂。我想要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 版本)不支持此选项。