tar
Archiver et compresser des fichiers
Drapeaux principaux
| c | créer une archive. |
| x | extraire une archive. |
| t | lister le contenu sans extraire. |
| v | verbose : affiche chaque fichier traité. |
| f | Indique le fichier d’archive ; utiliser -f - pour l’entrée ou la sortie standard. Le préciser explicitement évite de dépendre des valeurs par défaut ou de la variable TAPE. |
| z | compression gzip (.tar.gz). |
| j | compression bzip2 (.tar.bz2, plus dense, plus lent). |
| J | compression xz (.tar.xz, encore plus dense). |
| -C dir | Change vers ce dossier avant l'opération. |
| --exclude=motif | Ignore les fichiers correspondant. |
Mémo essentiel
| tar -czvf X.tar.gz dir/ | Créer une archive compressée gzip. |
| tar -xzvf X.tar.gz | Extraire dans le dossier courant. |
| tar -tzvf X.tar.gz | Lister le contenu sans extraire. |
Retenir une seule action principale : c pour créer, x pour extraire ou t pour lister. Ajouter v pour détailler, f pour désigner l’archive et éventuellement z, j ou J pour la compression. Ne pas combiner c, x et t.
$ tar -czvf sauvegarde.tar.gz mon-projet/
$ tar -xzvf sauvegarde.tar.gz
$ tar -xzvf sauvegarde.tar.gz -C /tmp/restauration/
$ tar -tzvf sauvegarde.tar.gz | head
$ tar -czvf backup-$(date +%F).tar.gz \
--exclude='*.log' --exclude='node_modules' \
projet/
$ tar -cJvf release.tar.xz dist/
$ tar -C /var/www/site -czf - . | ssh deploy@web 'tar -C /srv/site -xzf -'
/var/www/site vers /srv/site sans fichier intermédiaire. Les chemins sont explicites ; pour synchroniser régulièrement et gérer les suppressions, préférer rsync.$ tar czf - mon-dossier/ | gpg -c > mon-dossier.tar.gz.gpg