empacotando uma estrutura de diretório inteira ignorando um determinado tipo de arquivo

empacotando uma estrutura de diretório inteira ignorando um determinado tipo de arquivo

Quero criar um tarball de uma estrutura de diretórios. Eu sei que posso compactar o diretório inteiro executando tar czvf testdirou todos os arquivos nele contidos com tar czvf testdir/*. Mas o que eu quero fazer é excluir todos os arquivos de uma determinada extensão que ocorrem em qualquer lugar do diretório. Por exemplo, quero compactar todos os arquivos na mesma estrutura de diretórios, mas deixar todos .pycos arquivos de fora.

Isso é possível?

Responder1

Sim, é possível e simples.

Como Hastur mencionou, o comando que você deseja é:

tar --exclude='*.pyc' czvf testdir.tgz testdir

E quero acrescentar que se você tiver alguma dúvida sobre qualquer comando de terminal que esteja usando no Linux (ou no Mac OS X), o melhor lugar para começar é com a documentação oficial. Digite man tare você puxará para cima. Você pode pesquisar na página de manual (página de manual) digitando /searchterm(e npara a próxima correspondência) e pode rolar pela página usando fe b, de u, ou je kdependendo de quanto deseja rolar em uma única etapa.

“Mas a documentação tem décadas em alguns casos!” Sim, é... e as ferramentas que você está usando também. Eles resistiram ao teste do tempo. Na verdade, a página de manual deve ser sempre o PRIMEIRO recurso se você estiver tendo problemas.

Digitação man tarseguida de /excluderendimento:

--exclude=PATTERN
       exclude files, given as a PATTERN

informação relacionada