Existe-t-il un programme pour fournir une interface cohérente sur plusieurs types d'archives?

13

Pour le moment, si je télécharge un fichier compressé, il peut s'agir d'une archive .tar.gz, d'une archive tar.bz2, d'une archive .zip ou d'une archive .gz. Et chaque fois que je le fais, je dois me rappeler quelles sont les options de ligne de commande pour ce programme.

Existe-t-il un programme CLI où je peux simplement aller:

un fichier de décompression. ??

et laissez-le déterminer le format de l'archive? (nom trop long utilisé pour éviter tout conflit avec un vrai programme)

Macha
la source
Je n'ai pas pu trouver ou créer de balises telles que archive, compressionetc. Quelqu'un d'autre pourrait-il ajouter la bonne?
Macha
@Tshepang: corrigé.
Macha

Réponses:

11

Vous pouvez utiliser p7zip . Il identifie automatiquement le type d'archive et le décompresse.

p7zip est la version en ligne de commande de 7-Zip pour Unix / Linux, faite par un développeur indépendant.

7z e <file_name>

Hemant
la source
5

J'ai trouvé ce petit extrait il y a quelque temps et je l'utilise depuis. Je l'ai juste dans mon fichier .bashrc

extract () {
if [ -f $1 ] ; then
    case $1 in
        *.tar.bz2)  tar xjf $1      ;;
        *.tar.gz)   tar xzf $1      ;;
        *.bz2)      bunzip2 $1      ;;
        *.rar)      rar x $1        ;;
        *.gz)       gunzip $1       ;;
        *.tar)      tar xf $1       ;;
        *.tbz2)     tar xjf $1      ;;
        *.tgz)      tar xzf $1      ;;
        *.zip)      unzip $1        ;;
        *.Z)        uncompress $1   ;;
        *)          echo "'$1' cannot be extracted via extract()" ;;
    esac
else
    echo "'$1' is not a valid file"
fi
}
Dason
la source
1
C'est plus efficace que la réponse acceptée, car il 7z e foo.tar.gzne vous reste qu'un foo.tarfichier.
Wilfred Hughes
2

Dans Debian / Ubuntu, il y a le unppaquet, qui est un script Perl qui sert de frontend à de nombreux utilitaires d'archivage.

JanC
la source
2

D' une autre question : atool , qui gère également divers types d'archives et est plus puissant que unpparce qu'il gère également la liste des contenus, la recherche de différences entre les archives, etc.

Thomas Themel
la source
1

GNU tar (et star) a au moins quelques capacités de détection automatique de compression:

tar xf foo.tar.gz
tar xf foo.tar.bz

juste travailler.

maxschlepzig
la source
Cela dépend de la version de tar qui peut détecter automatiquement les formats, mais à part cela, il fonctionne bien ... IIRC starest en fait une manière plus standardisée, où tar de GNU est une extension non standard.
xenoterracide
La dernière version de GNU tar peut décompresser toutes les archives compressées, qui sont créées avec l'un des commutateurs de filtre de compression (z, j, J, --lzma), il détectera automatiquement la compression.
polemon
@xenoterracide: Eh bien, l'auteur de star a beaucoup critiqué GNU tar dans son style habituel - ces écrits pourraient être biaisés (en ignorant les mauvais points sur les étoiles et les bons points sur GNU tar), contiennent probablement du FUD et sont probablement obsolètes.
maxschlepzig
1

Je pense que arkl' outil d'archivage KDE peut être exécuté sans interface graphique. Depuis la arkpage de manuel

ark --batch archive.tar.bz2

Extraira archive.tar.bz2 dans le répertoire courant sans afficher d'interface graphique.

La prise en charge par Arks de divers formats d'archives dépend des applications que vous avez installées (par exemple, pour rar, cela dépend de Unar), mais je ne connais aucun format qu'il ne peut pas gérer.

xénoterracide
la source
1

Je suis surpris que personne n'ait mentionné l' outil dtrx suggéré dans cette réponse .

Semble adapter la demande à un tee-shirt.

HighCommander4
la source
0

L'Unarchiver prend en charge l'extraction d'environ 50 formats différents avec une interface cohérente.

Par défaut, un répertoire est créé s'il existe plusieurs fichiers ou dossiers de niveau supérieur.

Voir son man-Page .

La version en ligne de commande prend en charge Linux et est disponible ici .

Tom Hale
la source