Banner
Banner
Banner

Linux – Simplifiez vous l’extraction en console !

Par - le juin 14th, 2011

Ce soir, je télécharge la dernière version de Zend Framework pour un projet que je dois mettre à jour. Sur le site de Zend, le fichier est proposé en tar.gz, fichier que je télécharge.

Comme à chaque fois que je télécharge un fichier tar.gz, je me pose la question qui tue : « C’est quoi déjà la commande pour dés-archiver un fichier tar.gz ?«

Mais c’est pourtant simple ! « tar xvzf » suivi du nom de ton fichier…

Ah oui, c’est vrai ! Mais coup de chance, ce soir je suis tombé sur une réponse plus intéressante qu’à l’habitude, ou tout au moins si elle n’est pas forcément plus intéressante, elle va me simplifier la vie à l’avenir.

Ouvrez votre fichier .bashrc.

vim ~/.bashrc

Ajoutez le code suivant à la fin du fichier. Il s’agit d’une fonction bash qui va déterminer le type de fichier à extraire et lancer la commande associée, ou alors renvoyer un message d’erreur.

extract () {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xvjf $1 ;;
*.tar.gz) tar xvzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) rar 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
}

Vous avez ensuite deux possibilités. Soit vous redémarrez votre console, et vous pourrez alors utiliser la commande extract suivi du nom de votre fichier à dés-archiver, soit vous ne voulez pas redémarrer et il vous suffit alors d’entrer la commande « source ~/.bashrc » et vous pourrez utiliser immédiatement extract.

Astuce trouvée sur CrunchBangLinux : HOWTO: Extract compressed files in terminals or consoles.

 

Cet article a été publié par Thomas sur le blog generation-pc. Si vous désirez comme Thomas publier en guest-blogging sur Geek de France, vous pouvez me contacter.

Tags: , , , , , ,

15 commentaires to “Linux – Simplifiez vous l’extraction en console !”

    TimCruz :

    Merci Thomas : moi même je rale toujours pour le tar.gz. Carrément pratique!

    ®om :

    Pour tout ce qui est tar.quelquechose, tu peux utiliser l’option a :

    tar xavf fichier.tar.quelquechose

    Il choisira tout seul 😉

    Elessar :

    Pour l’extraction, GNU tar simplifie déjà un peu les choses en détectant tout seul la compression. Ainsi les commandes suivantes fonctionnent sans précision supplémentaire :
    tar -xf tarball.tar.gz
    tar -xf tarball.tar.bz2
    tar -xf tarball.tar.lzma
    tar -xf tarball.tar.xz
    tar -xf tarball.tar.lz

    Elessar :

    @®om : L’option -a n’est même pas nécessaire. Pour la compression oui, mais pour la décompression il se débrouille tout seul sans.

    ®om :

    @Elessar
    Ah ok merci 😉

    SkyZ :

    Etant un membre de la communauté crunchbang-fr j’avais vu se topic, mais personnellement j’ai préféré en faire un script sa évite de se balader dans le .bashrc pour le modifier et prévenir les problèmes si il y a une mauvaise manip dans la modification

    SheepOnMeth :

    Ou bien tu peux utiliser la programme unp. Écrit en perl, il fait la même chose;-)

    http://pwet.fr/man/linux/commandes/unp

    kooothor :

    Cool, merci pour l’astuce, même si ça risque de nous faire oublier ces commandes quand on sera pas avec son .*rc…

    Pour zsh il faut ajouter le keyword function :
    function extract() {
    …etc…

    @+
    ~ktr

    RootBSD :

    Perso je serai parti sur quelque chose avec file car combien d’archives ne matchent pas avec l’extension… Pas plus tard que ce matin j’ai eu un .pat qui était en faite simplement un .tar… Mais l’idée est sympa.

    Feadurn :

    Raaaahh, un tout grand merci pour ce tip, c’était un des trucs qui me gonflait le plus (bon, j’avais un petit fichier regroupant les différentes commandes, mais là c’est mille fois plus pratique).

    lowje :

    unp

    lowje :

    +1 pour unp

    El7fe :

    Très intéressant !

    koral :

    Je vous suggère de jeter un oeil à atools.

Laissez un commentaire

Catégorie(s): Software