Quelle commande dois-je pour décompresser / extraire un fichier .tar.gz?

607

J'ai reçu un énorme fichier .tar.gz d'un client contenant environ 800 Mo de fichiers image (lorsqu'il est décompressé). Le ftp de notre société d'hébergement est très lent, donc il faut extraire tous les fichiers localement et les envoyer via ftp isn ' t pratique. J'ai été capable de transférer le fichier .tar.gz sur notre site d’hébergement, mais lorsque je me connecte à mon répertoire et que j'essaie de décompresser, cela me donne cette erreur:

[[email protected] locations]$ unzip community_images.tar.gz
Archive:  community_images.tar.gz
  End-of-central-directory signature not found.  Either this file is not a zipfile, or it constitutes one disk of a multi-part archive.  In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive.
note:  community_images.tar.gz may be a plain executable, not an archive
unzip:  cannot find zipfile directory in one of community_images.tar.gz or community_images.tar.gz.zip, and cannot find community_images.tar.gz.ZIP, period.

Quelle commande dois-je utiliser pour extraire tous les fichiers d’un fichier .tar.gz?

    
posée EmmyS 08.02.2011 - 23:50
la source

4 réponses

1033

Tapez man tar pour plus d'informations, mais cette commande devrait faire l'affaire:

tar -xvzf community_images.tar.gz

Pour expliquer un peu plus, tar collecté tous les fichiers en un seul paquet, community_images.tar . Le programme gzip a appliqué la compression, d'où l'extension gz. La commande fait donc deux choses:

  • f : ce doit être le dernier drapeau de la commande et le fichier tar f doit être immédiatement après. Il indique à tar le nom et le chemin du fichier compressé.
  • z : dit à tar de décompresser l'archive à l'aide de g z ip
  • x : tar peut collecter des fichiers ou e x les acheminer. x fait le dernier.
  • v : fait parler beaucoup de tar. V la sortie erbose affiche tous les fichiers en cours d’extraction.
réponse donnée djeikyb 08.02.2011 - 23:57
la source
125

Si vous souhaitez que les fichiers soient extraits vers une destination particulière, vous pouvez ajouter -C /destination/path/
Assurez-vous de créer d'abord le répertoire, dans ce cas: ~ / Pictures / Community

Exemple:

mkdir ~/Pictures/Community
tar xf community_images.tar.gz -C /home/emmys/Pictures/Community/

Vous pouvez facilement le mémoriser si vous envisagez de dire tar à e X dans un fichier F ile

.

Remarque: Rappelez-vous que vous pouvez rechercher dans les pages de manuel le terme ? + à rechercher, puis n et N pour accéder à l'instance suivante ou précédente du terme vous cherchez.

    
réponse donnée JorgeArtware 20.08.2014 - 13:02
la source
88

À un certain point, tar a été mis à niveau vers la décompression automatique. Tout ce dont vous avez besoin maintenant est:

tar xf community_images.tar.gz

La même explication s'applique:

  • f : ce doit être le dernier drapeau de la commande et le fichier tar f doit être immédiatement après. Il indique à tar le nom et le chemin du fichier compressé.
  • x : e x achemine les fichiers.

Notez l'absence de trait d'union pour les drapeaux de commande. Cela est dû au fait que la plupart des versions de tar autorisent les options de style gnu et bsd (de manière simpliste, gnu requiert un tiret, mais pas bsd).

    
réponse donnée djeikyb 01.01.2014 - 00:54
la source
4

Si vous ne parvenez pas à extraire le fichier .tar.gz avec

tar -xvzf fileName.tar.gz

Essayez d’extraire en utilisant

tar xf fileName.tar.gz
    
réponse donnée Shravan40 05.01.2017 - 07:29
la source

Lire d'autres questions sur les étiquettes