Tar excluindo todos os arquivos em vez de apenas pastas ocultas

0

Eu estou tentando colocar tudo dentro da minha pasta home em um tar e eu quero excluir certas pastas como as ocultas e test_tree (que na verdade está aninhada dentro de outras pastas).

Eu tentei executar este comando:

tar -vcf everything.tar . --exclude='.*' --exclude='test_tree'

dentro do diretório home cd ~ , mas o tar criado estava completamente vazio. O que está acontecendo?

    
por J.Doe 27.04.2018 / 01:09

3 respostas

0

É o uso de . como sua fonte, juntamente com a declaração de tar para excluir as coisas que começam com . , que é o problema. Tente usar o caminho absoluto, por exemplo, /home/user ou "$PWD" se você já estiver no diretório e ele funcionar bem.

    
por 27.04.2018 / 01:31
0

A melhor solução é compilar um arquivo com os nomes ofensivos e:

tar cf my-precious.tar -X file-of-offenders .

(Não sei se -X é um GNUism, embora ... mas você parece estar usando o GNU tar de qualquer maneira).

    
por 27.04.2018 / 19:07
0

Eu tenho os mesmos problemas, --exclude = '. *' funciona bem no MacOS, mas não no Linux. Você pode fazer,

tar -vcf everything.tar . --exclude='./.*' --exclude='test_tree'

Ou

tar -vcf everything.tar . --exclude='.[^/]*' --exclude='test_tree'

    
por 25.06.2018 / 07:39

Tags