diff --git a/ce662705-eb9b-47b1-90f3-19e3c3633ed0/draft_overlay.json b/ce662705-eb9b-47b1-90f3-19e3c3633ed0/draft_overlay.json deleted file mode 100644 index 94567fd..0000000 --- a/ce662705-eb9b-47b1-90f3-19e3c3633ed0/draft_overlay.json +++ /dev/null @@ -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": "" -} diff --git a/ce662705-eb9b-47b1-90f3-19e3c3633ed0/draft_overlay.md b/ce662705-eb9b-47b1-90f3-19e3c3633ed0/draft_overlay.md deleted file mode 100644 index ce119cd..0000000 --- a/ce662705-eb9b-47b1-90f3-19e3c3633ed0/draft_overlay.md +++ /dev/null @@ -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. \ No newline at end of file diff --git a/ce662705-eb9b-47b1-90f3-19e3c3633ed0/index.md b/ce662705-eb9b-47b1-90f3-19e3c3633ed0/index.md index 98dd8fe..ce119cd 100644 --- a/ce662705-eb9b-47b1-90f3-19e3c3633ed0/index.md +++ b/ce662705-eb9b-47b1-90f3-19e3c3633ed0/index.md @@ -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 créer une archive **tar** d'un ou plusieurs fichiers, 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 créer une archive **tar** d'un dossier, 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 extraire les fichiers d'une archive **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 afficher le contenu d'une archive, 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 créer une archive compressée **tar.gz** d'un ou plusieurs fichiers, on utilise la syntaxe avec l'option **c** - tar zcvf archive.tar.gz fichier1 fichier2... +``` +tar xvf archive.tar +``` -Pour créer une archive compressées **tar.gz** d'un dossier, on utilise la syntaxe la même syntaxe - tar zcvf archive.tar.gz dossier/ - --- +Lister le contenu d'une archive : -Pour créer une archive 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 extraire les fichiers 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 afficher le contenu 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 supprimer un fichier 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 créer une archive compressée **tar.xz** d'un ou plusieurs fichiers, on utilise la syntaxe - tar Jcvf archive.tar.xz fichier1 fichier2... +Extraire : --- +``` +tar zxvf archive.tar.gz +``` -Pour créer une archive compressées **tar.xz** d'un dossier, on utilise la syntaxe - tar Jcvf archive.tar.xz dossier/ - --- +Lister le contenu : -Pour extraire les fichiers 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 créer une archive compressée **tar.bz2** d'un ou plusieurs fichiers, 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 créer une archive compressées **tar.bz2** d'un dossier, 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 afficher le contenu **tar.bz2** d'une archive, on utilise la syntaxe +``` +tar jxvf archive.tar.bz2 +``` - tar tvf archive.tar.bz2 '*.txt' - - --- +## Récapitulatif -Pour extraire les fichiers d'une archive compressée **tar.bz2**, on utilise la syntaxe - tar Jxvf archivedossier.tar.bz2 \ No newline at end of file +| 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. \ No newline at end of file diff --git a/ce662705-eb9b-47b1-90f3-19e3c3633ed0/meta.json b/ce662705-eb9b-47b1-90f3-19e3c3633ed0/meta.json index 7058d90..bd0f60a 100644 --- a/ce662705-eb9b-47b1-90f3-19e3c3633ed0/meta.json +++ b/ce662705-eb9b-47b1-90f3-19e3c3633ed0/meta.json @@ -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" + ] + } } diff --git a/ce662705-eb9b-47b1-90f3-19e3c3633ed0/revisions/0001.md b/ce662705-eb9b-47b1-90f3-19e3c3633ed0/revisions/0001.md new file mode 100644 index 0000000..98dd8fe --- /dev/null +++ b/ce662705-eb9b-47b1-90f3-19e3c3633ed0/revisions/0001.md @@ -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 créer une archive **tar** d'un ou plusieurs fichiers, on utilise la syntaxe + + tar cvf archive.tar fichier1 fichier2... + +-- + +Pour créer une archive **tar** d'un dossier, on utilise la syntaxe + tar cvf archive.tar dossier/ + +Le chemin complet de **dossier** sera copié dans l'archive. Attention à la décompression. + +-- + +Pour extraire les fichiers d'une archive **tar**, on utilise la syntaxe + tar xvf archivedossier.tar + +-- + +Pour afficher le contenu d'une archive, 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 créer une archive compressée **tar.gz** d'un ou plusieurs fichiers, on utilise la syntaxe avec l'option **c** + tar zcvf archive.tar.gz fichier1 fichier2... + +Pour créer une archive compressées **tar.gz** d'un dossier, on utilise la syntaxe la même syntaxe + tar zcvf archive.tar.gz dossier/ + +-- + +Pour créer une archive 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 extraire les fichiers d'une archive compressée tar.gz, on utilise la syntaxe avec l'option **x** + tar zxvf archivedossier.tar.gz + +-- + +Pour afficher le contenu d'une archive, on utilise la syntaxe avec l'option **t** + + tar ztvf archivedossier.tar.gz + +-- + +Pour supprimer un fichier 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 créer une archive compressée **tar.xz** d'un ou plusieurs fichiers, on utilise la syntaxe + tar Jcvf archive.tar.xz fichier1 fichier2... + +-- + +Pour créer une archive compressées **tar.xz** d'un dossier, on utilise la syntaxe + tar Jcvf archive.tar.xz dossier/ + +-- + +Pour extraire les fichiers 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 créer une archive compressée **tar.bz2** d'un ou plusieurs fichiers, on utilise la syntaxe + +``` +tar jcvf archive.tar.bz2 fichier1 fichier2… +``` + +-- + +Pour créer une archive compressées **tar.bz2** d'un dossier, on utilise la syntaxe + +``` +tar jcvf archive.tar.gz dossier/ +``` + +-- + +Pour afficher le contenu **tar.bz2** d'une archive, on utilise la syntaxe + + tar tvf archive.tar.bz2 '*.txt' + + --- + +Pour extraire les fichiers d'une archive compressée **tar.bz2**, on utilise la syntaxe + tar Jxvf archivedossier.tar.bz2 \ No newline at end of file