85 votes

Untar, ungz, gz, tar - comment se souvenir de toutes les options utiles ?

Je suis sûr que je ne suis pas le seul à avoir le problème suivant : chaque fois que j'ai besoin de décompresser un fichier dans *nix, je ne me souviens pas de tous les commutateurs, et je finis par le googler, ce qui est surprenant compte tenu de la fréquence à laquelle je dois le faire.

Avez-vous une bonne antisèche pour la compression ? Ou bien un moyen mnémotechnique pour tous les interrupteurs du goudron ?

Je fais de cet article un wiki pour que nous puissions créer un aide-mémoire.

Oh, et à propos des pages de manuel : s'il y a une chose pour laquelle elles ne sont pas utiles, c'est pour comprendre comment décompresser un fichier.

69voto

danny Points 13

Ou que diriez-vous d'utiliser le Shell avec des capacités de complétion avancées (comme zsh ou les versions récentes de bash) qui compléteront les options pour vous, avec une aide complète ? :))

En ce qui concerne le goudron, il suffit de regarder le clavier "qwerty". Il y a des lettres "zxcvf" les unes à côté des autres. Vous avez besoin soit de "tar czvf fichier.tar.gz", soit de "tar xzvf fichier.tar.gz".

44voto

Levi Wallach Points 139

Résumé de l'option goudron

Vous pouvez modifier ce texte pour y ajouter des interrupteurs plus ésotériques, mais voici l'essentiel :

  • x - extraire les fichiers
  • c - créer des archives
  • t - les fichiers de liste
  • v - verbose (liste des fichiers au fur et à mesure qu'il les traite)
  • j - utiliser la compression bz2
  • z - utiliser la compression gz
  • f - lire ou écrire des fichiers sur le disque

Exemples

Décompresser un fichier tar.gz : tar zxf tarball.tar.gz

Décompresser un fichier tar.bz2 : tar jxf tarball.tar.bz2

Créez un fichier tar.gz : tar zcvf tarvall.tar.gz mondir/*

23voto

Il existe un petit script Perl appelé "unp".

unp filename.tar.gz

...et il extrait tout. Fonctionne avec tout pour autant que vous ayez les bons binaires. Et vous oubliez la syntaxe et toutes ces conneries. Vérifiez les dépôts de votre distribution Linux. Il devrait y être (au moins sur Arch, Debian et Ubuntu).

8voto

Ali Mezgani Points 111

Avec une utilisation fréquente, je fais vraiment la différence entre l'extraction de données (x) et la compression de données (c) :

Pour l'extraire :

tar xzf data.tgz

Pour compresser :

tar czf data.tgz

De plus, vous pouvez ajouter deux fonctions à votre .bashrc :

function extract () {     
        if ($# -ne 1); then
                echo "Usage: $0  `<compressed archive>"`
                exit 1
        fi
        tar xzf $1
}

function compress () {
        if ($# -ne 2); then
                echo "Usage: $0 `<compressed archive> <files|directories>"`
                exit 1
        fi
        tar czf $1 $2
}

Il existe une autre fonction d'extraction intéressante, qui détecte l'extension de votre fichier compressé et fait le travail pour vous :

extract () {
   if [ -f $1 ] ; then
       case $1 in
           *.tar.bz2)   tar xvjf $1    ;;
           *.tar.gz)    tar xvzf $1    ;;
           *.bz2)       bunzip2 $1     ;;
           *.rar)       unrar x $1       ;;
           *.gz)        gunzip $1      ;;
           *.tar)       tar xvf $1     ;;
           *.tbz2)      tar xvjf $1    ;;
           *.tgz)       tar xvzf $1    ;;
           *.zip)       unzip $1       ;;
           *.Z)         uncompress $1  ;;
           *.7z)        7z x $1        ;;
           *)           echo "don't know how to extract '$1'..." ;;
       esac
   else
       echo "'$1' is not a valid file!"
   fi
 }

5voto

Guy C Points 930

Tapez simplement tar --help et voilà votre feuille de route.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X