publish: tar

This commit is contained in:
Cédrix
2026-05-16 19:19:59 +02:00
parent 2138c0e777
commit a0471e204d
5 changed files with 240 additions and 242 deletions
@@ -1,16 +0,0 @@
{
"title": "tar",
"slug": "tar",
"_updated_at": "2026-05-16 17:19:57",
"published": true,
"published_at": "2023-02-06 17:14",
"category": "Informatique",
"tags": {
"tags": [
"Compression",
"utilitaire"
]
},
"seo_title": "",
"seo_description": ""
}
@@ -1,147 +0,0 @@
# tar
## Introduction
`tar` (*tape archive*) est l'outil standard sous Linux pour regrouper plusieurs fichiers et dossiers dans une seule archive, éventuellement compressée. Avant d'entrer dans les commandes, voici les options à connaître :
- `c` : créer (*create*) une archive
- `x` : extraire (*extract*) une archive
- `t` : lister (*table*) le contenu
- `v` : mode verbeux (*verbose*)
- `f` : indique le nom du fichier archive (*file*)
- `z` : compression gzip
- `j` : compression bzip2
- `J` : compression xz
## Comparaison des formats de compression
La taille d'une archive `tar` dépend fortement de l'algorithme de compression. Exemple avec un dossier `html` contenant des fichiers **HTML**, **CSS** et **JS** :
| Archive | Taille (octets) |
| -------- | --------------- |
| tar | 40 960 |
| tar.gz | 6 200 |
| tar.bz2 | 6 003 |
| tar.xz | 5 656 |
En règle générale : `gzip` est le plus rapide, `xz` offre le meilleur taux de compression, `bzip2` se situe entre les deux.
## tar : archiver sans compresser
Créer une archive à partir d'un ou plusieurs fichiers :
```
tar cvf archive.tar fichier1 fichier2…
```
Créer une archive à partir d'un dossier :
```
tar cvf archive.tar dossier/
```
> **Attention** : le chemin passé en argument est conservé tel quel dans l'archive. Pour archiver le contenu sans inclure le chemin parent, utilisez `-C` :
>
> ```
> tar cvf archive.tar -C /chemin/parent dossier
> ```
Extraire les fichiers d'une archive :
```
tar xvf archive.tar
```
Lister le contenu d'une archive :
```
tar tvf archive.tar
```
## tar.gz : compression gzip
Toutes les commandes utilisent l'option `z`.
Créer une archive compressée à partir de fichiers ou d'un dossier :
```
tar zcvf archive.tar.gz fichier1 fichier2…
tar zcvf archive.tar.gz dossier/
```
Créer une archive **sans** les informations de propriétaire et de groupe (utile pour produire une archive portable destinée à un autre système) :
```
tar zcvf archive.tar.gz . --owner=0 --group=0
```
> Pensez à documenter les droits attendus à l'extraction (par exemple via un script post-déploiement ou un `chown` explicite).
Extraire :
```
tar zxvf archive.tar.gz
```
Lister le contenu :
```
tar ztvf archive.tar.gz
```
Supprimer un fichier dans l'archive :
```
tar --delete -f archive.tar.gz chemin/du/fichier
```
## tar.xz : compression xz
Utilise l'option `J` (le meilleur taux de compression, mais le plus lent).
Créer une archive à partir de fichiers ou d'un dossier :
```
tar Jcvf archive.tar.xz fichier1 fichier2…
tar Jcvf archive.tar.xz dossier/
```
Extraire :
```
tar Jxvf archive.tar.xz
```
## tar.bz2 : compression bzip2
Utilise l'option `j` (minuscule).
Créer une archive à partir de fichiers ou d'un dossier :
```
tar jcvf archive.tar.bz2 fichier1 fichier2…
tar jcvf archive.tar.bz2 dossier/
```
Lister le contenu (filtré sur les fichiers `.txt`) :
```
tar tvf archive.tar.bz2 '*.txt'
```
Extraire :
```
tar jxvf archive.tar.bz2
```
## Récapitulatif
| Format | Création | Extraction | Lister |
| --------- | -------------- | -------------- | -------------- |
| tar | `tar cvf` | `tar xvf` | `tar tvf` |
| tar.gz | `tar zcvf` | `tar zxvf` | `tar ztvf` |
| tar.bz2 | `tar jcvf` | `tar jxvf` | `tar jtvf` |
| tar.xz | `tar Jcvf` | `tar Jxvf` | `tar Jtvf` |
Sur les versions récentes de `tar`, vous pouvez aussi omettre l'option de compression : `tar xvf archive.tar.gz` fonctionne, le format étant détecté automatiquement.
+105 -75
View File
@@ -1,117 +1,147 @@
# tar
---
## Comparaison des résultats des archives
Les archives **tar** ont une taille différentes suivant les options de compression utilisée. Par exemple, un dossier **html** contenant des fichiers **HTML**, **CSS** et **JS** :
## Introduction
| archive | taille (octets) |
| ------- | --------------- |
| tar | 40960 |
| tar.gz | 6200 |
| tar.bz2 | 6003 |
| tar.xz | 5656 |
`tar` (*tape archive*) est l'outil standard sous Linux pour regrouper plusieurs fichiers et dossiers dans une seule archive, éventuellement compressée. Avant d'entrer dans les commandes, voici les options à connaître :
Voyons les commandes et options possibles.
- `c` : créer (*create*) une archive
- `x` : extraire (*extract*) une archive
- `t` : lister (*table*) le contenu
- `v` : mode verbeux (*verbose*)
- `f` : indique le nom du fichier archive (*file*)
- `z` : compression gzip
- `j` : compression bzip2
- `J` : compression xz
## tar sous Liunx : compresser et décompresser
Pour <u>créer une archive</u> **tar** <u>d'un ou plusieurs fichiers</u>, on utilise la syntaxe
## Comparaison des formats de compression
tar cvf archive.tar fichier1 fichier2...
La taille d'une archive `tar` dépend fortement de l'algorithme de compression. Exemple avec un dossier `html` contenant des fichiers **HTML**, **CSS** et **JS** :
--
| Archive | Taille (octets) |
| -------- | --------------- |
| tar | 40 960 |
| tar.gz | 6 200 |
| tar.bz2 | 6 003 |
| tar.xz | 5 656 |
Pour <u>créer une archive</u> **tar** <u>d'un dossier</u>, on utilise la syntaxe
tar cvf archive.tar dossier/
Le chemin complet de **dossier** sera copié dans l'archive. Attention à la décompression.
En règle générale : `gzip` est le plus rapide, `xz` offre le meilleur taux de compression, `bzip2` se situe entre les deux.
--
## tar : archiver sans compresser
Pour <u>extraire les fichiers d'une archive</u> **tar**, on utilise la syntaxe
tar xvf archivedossier.tar
Créer une archive à partir d'un ou plusieurs fichiers :
--
```
tar cvf archive.tar fichier1 fichier2…
```
Pour <u>afficher le contenu d'une archive</u>, on utilise la syntaxe
Créer une archive à partir d'un dossier :
tar tvf archivedossier.tar
```
tar cvf archive.tar dossier/
```
## tar.gz sous Liunx : compresser et décompresser
La manipulation des archives **tar.gz** s'effectue systématiquement avec l'option **z**.
> **Attention** : le chemin passé en argument est conservé tel quel dans l'archive. Pour archiver le contenu sans inclure le chemin parent, utilisez `-C` :
>
> ```
> tar cvf archive.tar -C /chemin/parent dossier
> ```
--
Extraire les fichiers d'une archive :
Pour <u>créer une archive</u> compressée **tar.gz** <u>d'un ou plusieurs fichiers</u>, on utilise la syntaxe avec l'option **c**
tar zcvf archive.tar.gz fichier1 fichier2...
```
tar xvf archive.tar
```
Pour <u>créer une archive</u> compressées **tar.gz** <u>d'un dossier</u>, on utilise la syntaxe la même syntaxe
tar zcvf archive.tar.gz dossier/
--
Lister le contenu d'une archive :
Pour <u>créer une archive</u> compressée **tar.gz** d'un ou plusieurs fichiers sans les informations de **l'owner** et du **groupe** renseignée, on utilise la syntaxe suivante :
```
tar tvf archive.tar
```
tar zcvf archive.tar.gz . --owner=0 --group=0
Il faudra veiller à laisser des instructions pour attribuer des droits.
--
## tar.gz : compression gzip
Pour <u>extraire les fichiers</u> d'une archive compressée tar.gz, on utilise la syntaxe avec l'option **x**
tar zxvf archivedossier.tar.gz
Toutes les commandes utilisent l'option `z`.
--
Créer une archive compressée à partir de fichiers ou d'un dossier :
Pour <u>afficher le contenu</u> d'une archive, on utilise la syntaxe avec l'option **t**
```
tar zcvf archive.tar.gz fichier1 fichier2…
tar zcvf archive.tar.gz dossier/
```
tar ztvf archivedossier.tar.gz
Créer une archive **sans** les informations de propriétaire et de groupe (utile pour produire une archive portable destinée à un autre système) :
--
```
tar zcvf archive.tar.gz . --owner=0 --group=0
```
Pour <u>supprimer un fichier</u> dans l'archive, on utilise la syntaxe avec l'option **delete**
> Pensez à documenter les droits attendus à l'extraction (par exemple via un script post-déploiement ou un `chown` explicite).
tar zvf archivedossier.tar.gz --delete your/path/to/delete
## tar.xz sous Liunx : compresser et décompresser
Pour <u>créer une archive</u> compressée **tar.xz** <u>d'un ou plusieurs fichiers</u>, on utilise la syntaxe
tar Jcvf archive.tar.xz fichier1 fichier2...
Extraire :
--
```
tar zxvf archive.tar.gz
```
Pour <u>créer une archive</u> compressées **tar.xz** <u>d'un dossier</u>, on utilise la syntaxe
tar Jcvf archive.tar.xz dossier/
--
Lister le contenu :
Pour <u>extraire les fichiers</u> d'une archive compressée tar.xz, on utilise la syntaxe
tar Jxvf archivedossier.tar.xz
```
tar ztvf archive.tar.gz
```
## tar.bz2 sous Liunx : compresser et décompresser
Pour <u>créer une archive</u> compressée **tar.bz2** <u>d'un ou plusieurs fichiers</u>, on utilise la syntaxe
Supprimer un fichier dans l'archive :
```
tar --delete -f archive.tar.gz chemin/du/fichier
```
## tar.xz : compression xz
Utilise l'option `J` (le meilleur taux de compression, mais le plus lent).
Créer une archive à partir de fichiers ou d'un dossier :
```
tar Jcvf archive.tar.xz fichier1 fichier2…
tar Jcvf archive.tar.xz dossier/
```
Extraire :
```
tar Jxvf archive.tar.xz
```
## tar.bz2 : compression bzip2
Utilise l'option `j` (minuscule).
Créer une archive à partir de fichiers ou d'un dossier :
```
tar jcvf archive.tar.bz2 fichier1 fichier2…
tar jcvf archive.tar.bz2 dossier/
```
--
Pour <u>créer une archive</u> compressées **tar.bz2** <u>d'un dossier</u>, on utilise la syntaxe
Lister le contenu (filtré sur les fichiers `.txt`) :
```
tar jcvf archive.tar.gz dossier/
tar tvf archive.tar.bz2 '*.txt'
```
--
Extraire :
Pour <u>afficher le contenu</u> **tar.bz2** d'une archive, on utilise la syntaxe
```
tar jxvf archive.tar.bz2
```
tar tvf archive.tar.bz2 '*.txt'
---
## Récapitulatif
Pour <u>extraire les fichiers</u> d'une archive compressée **tar.bz2**, on utilise la syntaxe
tar Jxvf archivedossier.tar.bz2
| Format | Création | Extraction | Lister |
| --------- | -------------- | -------------- | -------------- |
| tar | `tar cvf` | `tar xvf` | `tar tvf` |
| tar.gz | `tar zcvf` | `tar zxvf` | `tar ztvf` |
| tar.bz2 | `tar jcvf` | `tar jxvf` | `tar jtvf` |
| tar.xz | `tar Jcvf` | `tar Jxvf` | `tar Jtvf` |
Sur les versions récentes de `tar`, vous pouvez aussi omettre l'option de compression : `tar xvf archive.tar.gz` fonctionne, le format étant détecté automatiquement.
+18 -4
View File
@@ -4,15 +4,29 @@
"title": "tar",
"author": "cedric@abonnel.fr",
"published": true,
"published_at": "2023-02-06 17:14:54",
"featured": false,
"published_at": "2023-02-06 17:14",
"created_at": "2023-02-06 17:14:54",
"updated_at": "2023-02-06 17:14:54",
"revisions": [],
"updated_at": "2026-05-16 17:19:58",
"revisions": [
{
"n": 1,
"date": "2026-05-16 17:19:58",
"comment": "Tags modifiés, contenu modifié",
"title": "tar"
}
],
"cover": "",
"files_meta": [],
"external_links": [],
"seo_title": "",
"seo_description": "",
"og_image": "",
"category": "Informatique"
"category": "Informatique",
"tags": {
"tags": [
"Compression",
"utilitaire"
]
}
}
@@ -0,0 +1,117 @@
# tar
---
## Comparaison des résultats des archives
Les archives **tar** ont une taille différentes suivant les options de compression utilisée. Par exemple, un dossier **html** contenant des fichiers **HTML**, **CSS** et **JS** :
| archive | taille (octets) |
| ------- | --------------- |
| tar | 40960 |
| tar.gz | 6200 |
| tar.bz2 | 6003 |
| tar.xz | 5656 |
Voyons les commandes et options possibles.
## tar sous Liunx : compresser et décompresser
Pour <u>créer une archive</u> **tar** <u>d'un ou plusieurs fichiers</u>, on utilise la syntaxe
tar cvf archive.tar fichier1 fichier2...
--
Pour <u>créer une archive</u> **tar** <u>d'un dossier</u>, on utilise la syntaxe
tar cvf archive.tar dossier/
Le chemin complet de **dossier** sera copié dans l'archive. Attention à la décompression.
--
Pour <u>extraire les fichiers d'une archive</u> **tar**, on utilise la syntaxe
tar xvf archivedossier.tar
--
Pour <u>afficher le contenu d'une archive</u>, on utilise la syntaxe
tar tvf archivedossier.tar
## tar.gz sous Liunx : compresser et décompresser
La manipulation des archives **tar.gz** s'effectue systématiquement avec l'option **z**.
--
Pour <u>créer une archive</u> compressée **tar.gz** <u>d'un ou plusieurs fichiers</u>, on utilise la syntaxe avec l'option **c**
tar zcvf archive.tar.gz fichier1 fichier2...
Pour <u>créer une archive</u> compressées **tar.gz** <u>d'un dossier</u>, on utilise la syntaxe la même syntaxe
tar zcvf archive.tar.gz dossier/
--
Pour <u>créer une archive</u> compressée **tar.gz** d'un ou plusieurs fichiers sans les informations de **l'owner** et du **groupe** renseignée, on utilise la syntaxe suivante :
tar zcvf archive.tar.gz . --owner=0 --group=0
Il faudra veiller à laisser des instructions pour attribuer des droits.
--
Pour <u>extraire les fichiers</u> d'une archive compressée tar.gz, on utilise la syntaxe avec l'option **x**
tar zxvf archivedossier.tar.gz
--
Pour <u>afficher le contenu</u> d'une archive, on utilise la syntaxe avec l'option **t**
tar ztvf archivedossier.tar.gz
--
Pour <u>supprimer un fichier</u> dans l'archive, on utilise la syntaxe avec l'option **delete**
tar zvf archivedossier.tar.gz --delete your/path/to/delete
## tar.xz sous Liunx : compresser et décompresser
Pour <u>créer une archive</u> compressée **tar.xz** <u>d'un ou plusieurs fichiers</u>, on utilise la syntaxe
tar Jcvf archive.tar.xz fichier1 fichier2...
--
Pour <u>créer une archive</u> compressées **tar.xz** <u>d'un dossier</u>, on utilise la syntaxe
tar Jcvf archive.tar.xz dossier/
--
Pour <u>extraire les fichiers</u> d'une archive compressée tar.xz, on utilise la syntaxe
tar Jxvf archivedossier.tar.xz
## tar.bz2 sous Liunx : compresser et décompresser
Pour <u>créer une archive</u> compressée **tar.bz2** <u>d'un ou plusieurs fichiers</u>, on utilise la syntaxe
```
tar jcvf archive.tar.bz2 fichier1 fichier2…
```
--
Pour <u>créer une archive</u> compressées **tar.bz2** <u>d'un dossier</u>, on utilise la syntaxe
```
tar jcvf archive.tar.gz dossier/
```
--
Pour <u>afficher le contenu</u> **tar.bz2** d'une archive, on utilise la syntaxe
tar tvf archive.tar.bz2 '*.txt'
---
Pour <u>extraire les fichiers</u> d'une archive compressée **tar.bz2**, on utilise la syntaxe
tar Jxvf archivedossier.tar.bz2