Tar et gzip

Résolu
Bonjour,
je voudrai désarchiver et décompresser en fichier en une seule commande donc je fais:
gzip -dc nom_fichier.tar.gz|tar -xvf (mais sa ne marche pas!)
Donc j ai essayé autre chose : tar xvzf nom_fichier.tar.gz (sa ne marche pas aussi!)
Pouvez vous me dire pourquoi?
merci
Configuration: Linux
Konqueror 4.2

12 réponses

  1. Contributeur
    hello
    il faut lui préciser que les données viennent du stdin
    gzip -dc nom_fichier.tar.gz|tar -xvf -
    1. Pour la première :

      tar: L'ancienne option « f » a besoin d'un argument.
      Pour en savoir davantage, faites : « tar --help » ou « tar --usage ».

      Pour la seconde:
      rien du tout il m affiche juste les fichiers que contient mon répertoire c est exactement identique à la commande tar tzv qui permet de vérifier
      1. Le plus étonnant est que je le décompresse puis je fais ls pour voir je trouve le fich.tar (normal) mais là quand je le désarchive en tapant tar xvf fich.tar et que je fais ls pour voir : le fich.tar existe toujours !! est ce normal?
        1. Modérateur
          Oui c'est normal qu'il existe toujours.

          Ce qui n'est pas normal c'est que ta commande "tar xvzf nom_fichier.tar.gz" ne marche pas ;-\

      2. j ai fait sa mais sa ne marche pas:gzip -dc nom_fichier.tar.gz|tar -xvf
        1. Contributeur
          gzip -dc nom_fichier.tar.gz|tar -xvf - # il y a un - après le f
          1. J ai essayé avec le - mais sa ne marche pas aussi sa m affiche les fichiers que contient mon répertoire commpressé et désarchivé seuelement.

            Après quand je fais ls je trouve toujours le fich.tar.gz !
            1. Contributeur
              ???
              cette commande affiche le contenu de nom_fichier.tar.gz :
              gzip -dc nom_fichier.tar.gz|tar -tvf -
              oui ou non ?
              1. Modérateur
                T'as du louper un truc ;-\

                Un exemple :

                jp@MDK:~/tmpfs ssh$ ls
                blabla/
                
                jp@MDK:~/tmpfs ssh$ tar cvzf archive.tar.gz blabla
                blabla/
                blabla/shell_bash.txt~
                blabla/shell_bash.txt
                blabla/path_variable_retouche
                blabla/listes_chainees~
                blabla/listes_chainees
                blabla/path_variable
                
                jp@MDK:~/tmpfs ssh$ ls
                archive.tar.gz  blabla/
                
                jp@MDK:~/tmpfs ssh$ rm -rf blabla/
                
                jp@MDK:~/tmpfs ssh$ ls
                archive.tar.gz
                
                jp@MDK:~/tmpfs ssh$ gzip -dc archive.tar.gz | tar -xvf -
                blabla/
                blabla/shell_bash.txt~
                blabla/shell_bash.txt
                blabla/path_variable_retouche
                blabla/listes_chainees~
                blabla/listes_chainees
                blabla/path_variable
                
                jp@MDK:~/tmpfs ssh$ ls
                archive.tar.gz  blabla/
                
                jp@MDK:~/tmpfs ssh$
                1. Je comprends donc que je dois supprimer mon dossier que j'ai compressé et archivé c sa?
                  1. Modérateur
                    Non pas du tout.

                    C'était juste un exemple pour te montrer que la commande donnée par "dubcek" marche parfaitement...

                    La suppression du dossier c'était histoire de bien montrer que les commandes étaient bien exécutées sans problème.
                  2. @jipicyOui mais alors si on ne le supprime pas comment pourait-on distinguer la différence?parce que dans ce cas on aura deux dossiers de meme nom
                  3. Modérateur
                    @saraseffNon, ça remplace le dossier et les fichiers qu'il contient. par ceux présent dans l'archive.
                  4. @jipicydans ce cas la différence sera juste au niveau de la date puisque l heure de création changera c sa?
                2. Grand merci à vous tous maintenant touts les commandes marchent à merveille !

                  veuillez m'excuser parce qu'en fait je ne supprimais pas le dossier en question ce qui fait quand je désarchivais et décompressais puis tapais ls j'avais l'impression que rien ne se passait mais maintenant que je le supprime puis désarchive je retrouve mon dossier :)