publish: tar
This commit is contained in:
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user