Si comme moi vous ne vous souvenez jamais de l’incantation magique qui permet de décompresser les fichiers tar.gz et autres linuxeries, voici un pense-bête:
tar xvf truc.tar # untar uniquement
tar xvzf truc.tar.gz # decompresse sur place
tar xvzf truc.tar.gz /chemin/vers/dossier # decompresse dans un dossier
tar jxf truc.tar.bz2 # decompresser bz2
gunzip truc.bz > truc # ungzip uniquement
Et pour les zip/tar, c’est unzip
/untar
, sans option. Mais il faut les installer à part.
- L’option f doit être spécifiée en dernier car c’est elle qui spécifie le fichier à décompresser (tar xvfz -> tar xvzf)
– Pour les bz2 c’est l’option j et non y
– Sachant que l’option j ou z est optionnelle :
man tar:
Avec les versions récentes de GNU tar il n’y a même plus besoin des -z, -j et -J pour .gz, .bz2 et .xz. Un simple “tar xvf machin.tar.gz” fonctionne. (C’est le cas avec le tar distribué par Arch Linux depuis au moins 2 ou 3 ans).
BSD tar est encore mieux car il gère aussi les .zip de la même manière… (parfois dispo sous le nom “bsdtar” sous Linux)
Je note. Je corrige.
D’ailleurs, si l’un d’entre vous sait comment faire marcher ce snippet pour les noms qui contiennent des espaces ou des ‘, je suis preneurs:
mon grin de sel. pour extraire un dossier/fichier d’une archive sans la télécharger intégralement :
wget -q http://foo.bar/toto.tar.gz -O - |tar xvfz - dossier
@Sam : moi j’ai
et ça semble marcher avec des espaces…
Le paquet unp (en perl, dans toutes les bonnes distribs) décompresse tout.
Sinon, atool, mais je ne l’utilise pas.
J’ai jamais pu me faire a ces commandes de sioux, j’utilise ça.
C’est un paquet Debian, faut l’installer, mais après t’as une seule commande à retenir : unp tonbousin
moi pour décompresser je prends l’air….
Bon, je crois que je vais passer rapido à unp.
(Suis-je le seul à ne pas pouvoir cliquer sur le lien proposé par floweb et caché par le tampon ?)
Je dis rien, mais j’étais preum’s pour unp :)
@titus j’ai viré le tampon, j’espère qu’il ne m’en voudra pas :)
:D pire que des enfants… :)
Sam&Max, le site où on aime prendre de gros tampons… héhé’ ;-)
Bon, je ne connaissais même pas unp…
…encore un soir où j’vais me coucher moins con ; putain, j’adore le web (c’est pas avec la TV que j’aurais ça tiens) !
les tampons rouges, c’est crade :D
Marrant, mais moi je dois utiliser -C pour donner un autre répertoire que le répertoire courant.
@Max c’est bien parce que c’est toi. J’étais tellement fier ! :(
Merci, pour ce petit rappel.
Bonne continuation à vous deux ;)
De rien pour ce petit rappel.
Bonne continuation à toi seul :-)
Encore merci et bonne chance, nous sommes de tout coeur avec vous…
Celui qui trouve l’origine de cette réplique a un tampon :) (sauf sam)
Je plusois @Baronsed : moi aussi, je dois utiliser “-C” pour donner un autre répertoire de destination. Sinon il tente de trouver le répertoire (ou le fichier) dans l’archive.
tar xvzf truc.tar.gz /
chemin/dans/l-archive/fichier-a-extraire.txt /
-C chemin/vers/dossier/de/destination
Aka
ps: Peut-être faut-il faire la différence entre chemin relatif et absolu?
AH !
Encore mieux que unp : dtrx (do the right extract) ; gère :
– les formats (bon c’est le but à a la base)
– les droits <3
– et quand un connard met une blinde de fichiers à la racine de son archive <3 <3, il crée exprès un dossier pour ça.
Et si jamais on tombe sur un rép préalablement pourri o/ :
https://alias.sh/undo-unzip
Cela dit, ça peut être utile de garder une version commentée de xt() dans son .bashrc pour les cas où on ne peut pas installer ce qu'on veut, etc.