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


11

Isto está me enlouquecendo. Eu quero tarum diretório, mas excluo alguns arquivos. Este é o meu comando:

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

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

O que estou fazendo de errado?


Use gnutarde Brew, MacPort, etc. O alcatrão da Apple está muito aleijado.
JWW

Respostas:


23

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

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

Se sim tar --help, a --excludeopção aparece na ajuda? Eu não sei OSX, mas talvez haja um em gtarvez do estoque tar.
Flup

2
Ah, eu vejo isso :) tente o seguinte: tar --exclude='.git' --exclude='.gitignore' -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION A -fflag espera um nome de arquivo como o próximo argumento.
Flup

Desculpe sim, editado. Eu sou novo aqui, então tenha paciência comigo!
Flup

2
Pode atestar que isso funciona em um Mac - 10.9. Demorei um pouco para encontrar a versão correta, e é por isso que deixo meu comentário aqui!
JohnAllen

2

Isso fornece o que você deseja:

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

1

Parece que você deseja 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 BSD General Command do mac (versão não GNU) não suporta esta opção.


Você tem certeza de que isso funciona com o alcatrão da Apple? Veja a tar(1)página de manual da Apple . não lista --exclude-vscou --exclude-vcs.
JWW

Obrigado querido @jww pela sua dica. Eu editei minha resposta para ser mais eficaz.
21416 Kayvan Tehrani
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.