Com o 7zip, você precisa executar o comando duas vezes, uma para descompactar e novamente para extrair. O formato de arquivo tar é apenas um "maço" de tudo preso de ponta a ponta. Em seguida, o arquivo tar inteiro é compactado usando vários algoritmos de compactação, no seu exemplo de bzip. Basicamente, o arquivo resultante tem duas camadas. Quando você "extrai" a camada bzip, você obtém um arquivo tar e, ao extrair o arquivo tar, você obtém vários arquivos individuais.
O 7zip não manipula múltiplas camadas de uma só vez, embora seja capaz de lidar com ambas as camadas:
7z x foo.tar.bz2
7z x foo.tar
Na verdade, as ferramentas unix padrão funcionam da mesma maneira:
bunzip2 foo.tar.bz2
tar xf foo.tar
No entanto, o comando unix tar
possui recursos de conveniência que chamam as etapas de compactação e descompactação secundárias usando outro programa antes / depois de manipular a parte tar. Basicamente, o argumento -j
chama bzip2
/ bunzip2
, você simplesmente não vê o segundo passo. Da mesma forma -z
chamará gzip
/ gunzip
, etc.