J'ai un fichier .tar.bz2 que je souhaite décompresser et extraire via l'outil de ligne de commande 7-zip.
Donc, fondamentalement, je cherche l'équivalent de
tar -xjf foo.tar.bz2
avec 7-zip, il n'y a que l'option "x" pour l'extrait, ce qui fait
7z x foo.tar.bz2
me donne le fichier foo.tar gonflé au lieu de décompresser tous les répertoires à l'intérieur du tar. Quelle est l'option correspondante pour 7z?
Réponses:
Avec 7zip, vous devez exécuter la commande deux fois, une fois pour décompresser et à nouveau pour extraire. Le format de fichier tar est juste une "liasse" de tout coincé bout à bout. Ensuite, le fichier tar entier est compressé à l'aide de divers algorithmes de compression, dans votre exemple bzip. Fondamentalement, le fichier résultant a deux couches. Lorsque vous "extrayez" la couche bzip, vous obtenez un fichier tar, puis lorsque vous extrayez le fichier tar, vous obtenez un tas de fichiers individuels.
7zip ne gère pas plusieurs couches à la fois, bien qu'il soit capable de gérer les deux couches:
En fait, les outils Unix standard fonctionnent de la même manière:
Cependant, la
tar
commande unix possède des fonctionnalités pratiques qui appellent les étapes de compression et de décompression secondaires à l'aide d'un autre programme avant / après qu'il gère la partie tar. Fondamentalement, l'-j
argument appellebzip2
/bunzip2
, vous ne voyez tout simplement pas la deuxième étape. De même-z
appelleragzip
/gunzip
, etc.la source
Bien que vous ne puissiez pas le faire dans une seule commande, vous pouvez utiliser un pipeline shell pour chaîner deux commandes 7z en une seule ligne de commande, comme suit:
la source
Que diriez-vous d'une version plus courte de la combinaison 7z et tar utilisant des sorties et des tuyaux standard?
la source
la source