Desarquivar arquivo único suspenso

Desarquivar arquivo único suspenso

Estou tentando desarquivar um diretório muito grande. Aqui está o que funciona para descompactar tudo:

$ sudo tar -xjf itunes20140618.tbz --verbose
x itunes20140618/
x itunes20140618/genre_artist
x itunes20140618/imix_type
...etc...

No entanto, se eu tentar desarquivar apenas um único arquivo, isso será feito corretamente, mas o comando será interrompido indefinidamente. Além disso, ele não imprime nenhuma saída ao usar a instrução --verbose. Aqui está um exemplo:

$ sudo tar -xjf itunes20140618.tbz itunes20140618/imix --verbose
[ nothing prints...it just hangs. But it does un-tar that single file ]

Responder1

Não especifique opções após argumentos sem opção, especialmente com taro qual é um comando não padrão com diversas implementações que suportam diversas formas antigas e mais recentes de analisar opções, ações e argumentos para eles.

Em:

tar -xjf itunes20140618.tbz itunes20140618/imix --verbose

itunes20140618.tbzseria um argumento para a -fopção, itunes20140618/imixum argumento extra sem opção tomado como o nome de um membro a ser extraído do arquivo. Se --verboseserá tratado como um argumento extra (o nome de outro membro a ser extraído) ou uma opção dependerá da implementação e da versão tare até mesmo de como foi compilado ou do ambiente de tempo de execução.

No seu caso, pode muito bem ser que você tarseja um daqueles (a maioria) que não considera isso --verboseuma opção global.

Aqui, use:

tar -xjf itunes20140618.tbz --verbose itunes20140618/imix

Ou o mais portátil:

bunzip2 < itunes20140618.tbz | tar xvf - itunes20140618/imix

Ou substitua tarpelo padrão (embora menos portátil) pax:

bunzip2 < itunes20140618.tbz | pax -vr itunes20140618/imix

Responder2

Você está usando bzip2o que não é umarquivador de arquivosentão taressencialmente atua como um file archivere bzip2os comprime.

Por exemplo, arquivar uma coleção de arquivos com tar e depois compactar o arquivo resultante com gzip resulta em um arquivo com extensão .tar.gz.

Mas esta abordagem tem uma desvantagem, conforme indicado no artigo wiki:

Extrair ou modificar um arquivo é difícil. A extração de um arquivo requer a descompactação de um arquivo inteiro, o que pode consumir tempo e espaço.

Portanto, minha sugestão é usar apenas .tarou .zipou .rarse você extrai frequentemente um único arquivo.

informação relacionada