« Compression de données » : différence entre les versions
→Décompresser Gzip : Ajout d'une méthode de décompression Gzip sur un volume de type bloc. |
→Décompresser Xz : Ajout de la possibilité de changer la destination de la décompression. |
||
| Ligne 91 : | Ligne 91 : | ||
ou | ou | ||
unxz mon_fichier.xz | unxz mon_fichier.xz | ||
Aussi étrange que cela puisse paraître, l'outil ne permet pas de décompresser dans un répertoire particulier. Pour y remédier, il faut envoyer le flux de sortie vers le ''stdout'' de la console et le rediriger dans le fichier voulu : | |||
xz -d mon_fichier.xz -c > /chemin/votre_fichier | |||
''Note : l'option <source lang="bash" inline>-c</source> implique automatiquement le <source lang="bash" inline>-k</source> pour garder le fichier d'origine.'' | |||
{{astuce|''Xz'' peut être assez lent. Aussi, s'il s'agit d'un fichier ''ISO'' que vous voulez copier au niveau des blocs d'un support de démarrage, vous pouvez envoyer la décompression [https://askubuntu.com/questions/1193232/how-do-i-use-an-img-xz-file-or-get-an-img-file-from-it directement] vers ''dd'' qui se chargera d'écrire sur votre mémoire (ça fait gagner un sacrés temps): <source lang="bash" inline>xzcat VotreFichier.xz | dd of=/dev/VotreDisque bs=4M conv=fsync status=progress</source>.}} | {{astuce|''Xz'' peut être assez lent. Aussi, s'il s'agit d'un fichier ''ISO'' que vous voulez copier au niveau des blocs d'un support de démarrage, vous pouvez envoyer la décompression [https://askubuntu.com/questions/1193232/how-do-i-use-an-img-xz-file-or-get-an-img-file-from-it directement] vers ''dd'' qui se chargera d'écrire sur votre mémoire (ça fait gagner un sacrés temps): <source lang="bash" inline>xzcat VotreFichier.xz | dd of=/dev/VotreDisque bs=4M conv=fsync status=progress</source>.}} | ||
Version du 14 novembre 2020 à 11:30
Cet article a pour but de recenser différentes manières de compresser/décompresser des données sous des systèmes Linux.
Archive tar
Compresser tar
INFORMATION
{{{1}}}En Gzip
tar czvf mon_archive.tar.gz mon_dossier
En Bzip2
tar cjvf mon_archive.tar.xz mon_dossier
Lister tar
tar tf mon_archive.tar.gz
Décompresser tar
En Gzip
tar xzvf mon_archive.tar.gz mon_dossier
En Bzip2
tar xjvf mon_archive.tar.xz mon_dossier
INFORMATION
{{{1}}}ASTUCE
{{{1}}}Archive ZIP
Zip est universel, globalement tout les systèmes d'exploitation pourront en faire quelque chose. Sous Debian, les commandes <source lang="bash" inline>zip</source> et <source lang="bash" inline>unzip</source> se trouvent dans le paquet <source lang="bash" inline>zip</source>.
Compresser ZIP
zip -r mon_archive.zip mon_dossier
Lister ZIP
unzip -l mon_archive.zip
Décompresser ZIP
unzip mon_archive.zip
ASTUCE
{{{1}}}Archive 7zip
Sous Debian, la commande <source lang="bash" inline>7z</source> se trouve dans le paquet <source lang="bash" inline>p7zip-full</source>.
Compresser 7zip
7z a mon_archive.7z mon_dossier
ASTUCE
{{{1}}}Lister 7zip
7z l mon_archive.7z
INFORMATION
Même chiffré, le nom des fichiers archivés sont listables.Décompresser 7zip
7z x mon_archive.7z
INFORMATION
Si l'archive a été chiffrée, le mot de passe sera automatiquement demandé à la décompression.ASTUCE
{{{1}}}Format Gzip
Gzip n'est pas une archive, c'est réellement une compression de fichier. Il est possible de concaténer plusieurs fichiers dans un Gzip (voir la section Advanced Usage du man).
Compresser Gzip
gzip -9 mon_fichier > mon_fichier.gz
ATTENTION
{{{1}}}ASTUCE
{{{1}}}Décompresser Gzip
gunzip mon_fichier.gz
Directement sur un volume de type bloc
gunzip -k -c fichier.img.gz | dd of=/dev/mmcblk0 bs=4M conv=fsync status=progress
Format Xz
Xz se base sur l’algorithme LZMA2 et propose le meilleur taux de compression qui soit.
Compresser Xz
xz -z mon_fichier
ou
xz --compress mon_fichier
ASTUCE
{{{1}}}INFORMATION
Il est également possible d'utiliser un chiffre (de 0 à 9) pour le taux de compression comme pour Gzip. La valeur "6" est définie par défaut.Décompresser Xz
xz -d mon_fichier.xz
ou
unxz mon_fichier.xz
Aussi étrange que cela puisse paraître, l'outil ne permet pas de décompresser dans un répertoire particulier. Pour y remédier, il faut envoyer le flux de sortie vers le stdout de la console et le rediriger dans le fichier voulu :
xz -d mon_fichier.xz -c > /chemin/votre_fichier
Note : l'option <source lang="bash" inline>-c</source> implique automatiquement le <source lang="bash" inline>-k</source> pour garder le fichier d'origine.
ASTUCE
{{{1}}}Sources
- Les pages de man:
- https://www.commentcamarche.com/faq/955-linux-compresser-decompresser-un-fichier-zip
- https://superuser.com/questions/216617/view-list-of-files-in-zip-archive-on-linux
- https://www.it-connect.fr/creer-une-archive-7-zip-chiffree-en-ligne-de-commande-sous-linux/
- https://superuser.com/questions/368470/7-zip-command-line-to-extract-a-folder-from-an-archive
- https://www.it-connect.fr/la-compression-avec-xz-sous-linux/