logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:systeme:tar [21/04/2015 17:36]
milou [Débutant]
doc:systeme:tar [05/11/2021 02:34] (Version actuelle)
TyZef [Illustration avec différentes pratiques]
Ligne 1: Ligne 1:
-====== ​La commande ​TAR ======+====== TAR ======
  
-  * Objet : La commande tar, présentation , utilisation ​+  * Objet : La commande tar
   * Niveau requis :​{{tag>​débutant avisé}}   * Niveau requis :​{{tag>​débutant avisé}}
   * Commentaires : //Archiver ou désarchiver des répertoires et des fichiers// ​   * Commentaires : //Archiver ou désarchiver des répertoires et des fichiers// ​
Ligne 15: Ligne 15:
 La commande tar permet d'​archiver ou de désarchiver des répertoires et des fichiers de façon optimale. \\  La commande tar permet d'​archiver ou de désarchiver des répertoires et des fichiers de façon optimale. \\ 
 Cette commande vous allez l'​utiliser souvent, n'​hésitez pas à revenir dessus en cas d'​oubli. Cette commande vous allez l'​utiliser souvent, n'​hésitez pas à revenir dessus en cas d'​oubli.
 +
 +Les commandes tar en détail :
 +[[doc:​systeme:​tar-commandes|Commandes tar pour débutant]]
  
  
Ligne 37: Ligne 40:
      tar xjf nom_du_fichier.tar.gz      tar xjf nom_du_fichier.tar.gz
  
-Cette commande décompacte un fichier au format .tar.bz2 ou .tbz ; Ce type de fichier est moins courant que le présédent. \\ +Cette commande décompacte un fichier au format .tar.bz2 ou .tbz ; Ce type de fichier est moins courant que le précédent. \\ 
 Le format .tar.bz2 indique que le fichier est en réalité une archive (.tar), c'​est-à-dire que le fichier contient en réalité plusieurs fichiers, et qu'il est compacté (.bz2). \\  Le format .tar.bz2 indique que le fichier est en réalité une archive (.tar), c'​est-à-dire que le fichier contient en réalité plusieurs fichiers, et qu'il est compacté (.bz2). \\ 
 Cette commande peut être ainsi comprise : Cette commande peut être ainsi comprise :
Ligne 44: Ligne 47:
     j: décompacte l'​archive avec l'​utilitaire bzip2     j: décompacte l'​archive avec l'​utilitaire bzip2
     f: extrait un fichier donné (ici le fichier est nom_du_fichier.tar.bz2)     f: extrait un fichier donné (ici le fichier est nom_du_fichier.tar.bz2)
 +
 +Pour info pour extraire les fichiers d'une archive tar, il est inutile de donner l'algo à utiliser pour
 +la décompression,​ pour n'​importe quel archive tar.
 +
 +== Exemple : ==
 +
 +<code user>tar xf archive.tar.<​extension></​code>​
 +où <​extension>​ peut-être, //gz, bz2, xz, Z… (liste non exhaustive)//​. \\
 +Ça marche pourvu que le programme qui permet la décompression soit installé (gzip pour gz, bzip2 pour bz2, xz pour xz…).
 +<note tip>Tar ne se base pas sur l'​extension il me semble mais sur l'​entête qui au tout début du fichier indique le type de compression utilisé.</​note>​
 +
 +//Voilà ma petite contribution.//​
 +
 +Merci à **enicar** et **Atys** sur le forum là :
 +  * https://​debian-facile.org/​viewtopic.php?​pid=243441#​p243441
 +
 ==== Compresser un fichier tar ==== ==== Compresser un fichier tar ====
 +
 +===Exemple ===
  
 Toujours avec la même commande on créera une archive de tout mon répertoire : /​home/​mattux/​opensuse Toujours avec la même commande on créera une archive de tout mon répertoire : /​home/​mattux/​opensuse
  
-    ​cd /​home/​mattux/​ +<code user>cd /​home/​mattux/​</​code>​ 
-    tar cvzf opensuse.tgz opensuse+<code user>tar cvzf opensuse.tgz opensuse</​code>​
  
 Avec cette commande mon répertoire opensuse, avec les sous répertoires et tous les fichiers, se trouveront rassemblés dans UN fichier archive : opensuse.tgz Avec cette commande mon répertoire opensuse, avec les sous répertoires et tous les fichiers, se trouveront rassemblés dans UN fichier archive : opensuse.tgz
Ligne 81: Ligne 102:
 Vous pouvez aussi obtenir, à tout moment, en console la page de ''​man''​ de la commande avec : Vous pouvez aussi obtenir, à tout moment, en console la page de ''​man''​ de la commande avec :
  
-   ​$ ​man tar+<code user>man tar</​code>​
  
 ===== Utilisation - Copie ===== ===== Utilisation - Copie =====
Ligne 98: Ligne 119:
   * Se placer dans le répertoire de destination   * Se placer dans le répertoire de destination
  
-   cd rep_dest+<code user>cd rep_dest</​code>​
  
   * Utiliser TAR   * Utiliser TAR
  
-   tar -C /​chemin/​rep_source -cvf - . | tar xvf -+<code user>tar -C /​chemin/​rep_source -cvf - . | tar xvf -</​code>​
  
 ==== Exclure la copie de fichiers ciblés ==== ==== Exclure la copie de fichiers ciblés ====
Ligne 108: Ligne 129:
 Exclure tous les fichiers ''​*.bak''​ : Exclure tous les fichiers ''​*.bak''​ :
  
-<​code>​ +<​code ​user
-cd rep_dest +cd rep_dest</​code>​ 
-tar -C /​chemin/​rep_source --exclude *.bak -cvf - . | tar xvf -+<code user>tar -C /​chemin/​rep_source --exclude *.bak -cvf - . | tar xvf -
 </​code>​ </​code>​
  
Ligne 117: Ligne 138:
 Exclure les répertoires ''​source''​ et ''​extra''​ : Exclure les répertoires ''​source''​ et ''​extra''​ :
  
-<​code>​ +<​code ​user
-cd rep_dest +cd rep_dest</​code>​ 
-tar -C /​chemin/​rep_source --exclude source --exclude extra -cvf - . | tar xvf -+<code user>tar -C /​chemin/​rep_source --exclude source --exclude extra -cvf - . | tar xvf -
 </​code>​ </​code>​
  
Ligne 130: Ligne 151:
 Inscrivez dans un fichier, ''​fichiers.txt''​ par exemple, la liste des fichiers que vous ne souhaitez pas copier : Inscrivez dans un fichier, ''​fichiers.txt''​ par exemple, la liste des fichiers que vous ne souhaitez pas copier :
  
-<code>+<file config fichiers.txt>
 admin.php admin.php
 serge.txt serge.txt
Ligne 137: Ligne 158:
 extra extra
 source source
-</code>+</file>
  
 === Commande TAR === === Commande TAR ===
Ligne 143: Ligne 164:
 Puis vous passez ce fichier à ''​tar''​ : Puis vous passez ce fichier à ''​tar''​ :
  
-<​code>​ +<​code ​user
-cd rep_dest +cd rep_dest</​code>​ 
-tar -C /​chemin/​rep_source --exclude-from fichiers.txt -cvf  - . | tar xvf -+<code user>tar -C /​chemin/​rep_source --exclude-from fichiers.txt -cvf  - . | tar xvf -
 </​code>​ </​code>​
 +
 +
 +==== Problèmes ====
 +
 +Avec par exemple un fichier ''​ratatouille.tar.xz''​ vous rencontrez le problème suivant :
 +
 +<code user>​debian@facile:​~$ tar xzvf ratatouille.tar.xz
 +
 +gzip: stdin: not in gzip format
 +tar: Child returned status 1
 +tar: Error is not recoverable:​ exiting now</​code>​
 +
 +Le paquet [[https://​packages.debian.org/​bullseye/​file|file]] vous informe de ceci :
 +
 +<code user>​file ratatouille.tar.xz
 +ratatouille.tar.xz:​ XZ compressed data</​code>​
 +
 +vous pouvez alors installer le paquet suivant [[https://​packages.debian.org/​bullseye/​xz-utils|xz-utils]].
 +
 +Puis pour extraire votre fichier faire :
 +<code user>tar -xf ratatouille.tar.xz</​code>​
 +Ou-bien pour décompresser :
 +<code user>xz -d -v ratatouille.tar.xz</​code>​
  
 ===== Conclusion ===== ===== Conclusion =====
Ligne 152: Ligne 196:
 ''​Tar''​ vous permet bien d'​autres subtilités impossibles à réaliser avec ''​cp''​. Voir l'aide de la page de manuel de ''​tar''​ : ''​Tar''​ vous permet bien d'​autres subtilités impossibles à réaliser avec ''​cp''​. Voir l'aide de la page de manuel de ''​tar''​ :
  
-<​code>​+<​code ​user>
 man tar</​code>​ man tar</​code>​
  
-<​code>​info tar+<​code ​user>info tar
 </​code>​ </​code>​
  
Ligne 164: Ligne 208:
 Remerciements : \\  Remerciements : \\ 
 http://​wiki.slackware-fr.org/​administration:​trucs:​copier_un_repertoire_avec_tar#​copier_un_repertoire_avec_tar (fr) http://​wiki.slackware-fr.org/​administration:​trucs:​copier_un_repertoire_avec_tar#​copier_un_repertoire_avec_tar (fr)
 +\\
 +https://​www.cyberciti.biz/​faq/​how-to-extract-tar-xz-files-in-linux-and-unzip-all-files/​ (en)
  
doc/systeme/tar.1429630607.txt.gz · Dernière modification: 21/04/2015 17:36 par milou

Pied de page des forums

Propulsé par FluxBB