tar: --exclude=". git": Não é possível stat: Nenhum arquivo ou diretório

11

Isso está me deixando louco. Eu quero tar um diretório, mas excluo alguns arquivos. Este é o meu comando:

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

Enquanto o comando acima funciona no RedHat EL5, ele não funciona no Mac OS 10.8.2. Eu tentei substituir o ' por " , \' e \" . Eu tentei remover os sinais de igual. Nada funciona.

O que estou fazendo de errado?

    
por Randomblue 01.03.2013 / 15:12

3 respostas

21

Todas as opções precisam estar juntas antes dos argumentos, e o -f flag precisa preceder o arquivo tar:

tar -zcv --exclude='.git' --exclude='.gitignore' -f $NAME-$VERSION.tar.gz $NAME-$VERSION
    
por 01.03.2013 / 15:15
2

Isso lhe dá o que você quer:

tar czvf $NAME-$VERSION.tar.gz $NAME-$VERSION --wildcards --exclude=.git --exclude=.gitignore
    
por 07.05.2013 / 16:23
1

Parece que você gosta de filtrar os meta diretórios .git, a maneira mais fácil é usar --exclude-vcs para excluir os diretórios do sistema de controle de versão:

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

Eu usei "tar (GNU tar) 1.27.1" na minha máquina Linux, parece que o Comando Geral BSD do mac (versão não GNU) não suporta esta opção.

    
por 27.01.2016 / 10:45

Tags