Como extrair o .tar.bz2 diretamente? (evitando uma criação de pasta)

4

Eu sempre extraio esse tipo de arquivo usando a rota em que eu quero esses arquivos:

# tar -xvf file.tar.bz2 

Mas sempre cria um folder chamado "file" (para este exemplo) e armazena todos dentro dele.

Eu nunca tive problema com isso, mas agora eu preciso evitar essa pasta e simplesmente extrair tudo na rota onde eu quero que tudo seja.

Eu tenho lido o man tar (manual) ... mas ainda não consigo encontrar um atributo específico que faça isso.

Como posso fazer isso? ( All in terminal )

    
por AAlvz 10.02.2013 / 04:09

1 resposta

4

O tar não cria uma pasta chamada arquivo ; a pasta arquivo é armazenada no tarball. Isso porque o tarball estava criando com o comando

tar cf foo.tar.bz2 foo

em vez de

cd foo
tar cf foo.tar.bz2 .

De acordo com man tar , você pode usar a opção --strip-components ( --strip-path em versões mais antigas) para substituir isso.

Para remover uma única pasta inicial, use este comando:

tar xvf file.tar.bz2 --strip-components 1
    
por 10.02.2013 / 04:20