11

Это сводит меня с ума. Я хочу tar каталог, но исключить некоторые файлы. Это моя команда:

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

Хотя приведенная выше команда работает на RedHat EL5, она не работает на Mac OS 10.8.2. Я попытался заменить ' с " , \' и \" . Я попытался удалить знаки равенства. Ничего не работает

Что я делаю неправильно?

3 ответа3

22

Все параметры должны быть вместе перед аргументами, а флаг -f должен предшествовать файлу tar:

tar -zcv --exclude='.git' --exclude='.gitignore' -f $NAME-$VERSION.tar.gz $NAME-$VERSION
2

Это дает вам то, что вы хотите:

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

Кажется, вам нравится фильтровать мета-каталоги .git, самый простой способ - использовать --exclude-vcs для исключения системных каталогов контроля версий:

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

Я использовал «tar (GNU tar) 1.27.1» на моей машине с Linux, похоже, что общая команда Mac BSD (не версия GNU) не поддерживает эту опцию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .