Dans ce tutoriel, nous allons apprendre à installer et utiliser 7zip sur Ubuntu 18.04/Ubuntu 20.04. 7zip est un archiveur de fichiers gratuit et open-source avec un taux de compression élevé. Le programme prend en charge les formats 7z, LZMA2, XZ, ZIP, Zip64, CAB, RAR, ARJ, GZIP, BZIP2, TAR, CPIO, RPM, ISO, la plupart des images de système de fichiers et DEB. Le ratio de compression dans le nouveau format 7z est 30-50% meilleur que le ratio dans le format ZIP.
L’utilitaire 7zip est universel et donc l’exemple d’utilisation montré dans ce tutoriel peut être utilisé sur n’importe quelle distribution Linux.
Installer et utiliser 7zip sur Ubuntu 18.04/Ubuntu 20.04
Installer le paquet p7zip
Si l’utilitaire 7zip n’est pas déjà installé dans votre système, exécutez la commande ci-dessous pour l’installer.
apt install p7zip p7zip-rar p7zip-full -y
Si vous exécutez une autre distribution Linux comme CentOS, Fedora ou d’autres distros basés sur RHEL, exécutez la commande ci-dessous pour installer 7zip;
NB : activez le dépôt EPEL sur les distributions CentOS/RHEL avant de pouvoir exécuter cette commande.
yum install p7zip p7zip-plugins -y
L’utilitaire 7zip fournit trois utilitaires en ligne de commande à savoir, 7z, 7za et 7zr. La différence entre les trois utilitaires, telle que décrite dans leurs pages de manuel, est que;
- 7z utilise des plugins pour gérer les archives.
- 7za est un exécutable autonome. 7za gère moins de formats d’archives que 7z.
- 7zr est un exécutable autonome. 7zr gère moins de formats d’archives que 7z. 7zr est une « version légère » de 7za qui ne gère que les archives 7z.
Si vous aimez utiliser 7zip avec rar sur Ubuntu et les distributions similaires, vous devez installer le paquet p7zip-rar.
apt install p7zip-rar -y
Dans ce tutoriel, nous discuterons de l’utilisation d’un utilitaire, 7z, puisque la fonctionnalité et l’utilisation sont les mêmes pour les trois utilitaires.
Une fois l’installation terminée, vous pouvez vérifier en exécutant la commande suivante;
whereis 7z 7za 7zr
7z: /usr/bin/7z /usr/share/man/man1/7z.1.gz7za: /usr/bin/7za /usr/share/man/man1/7za.1.gz7zr: /usr/bin/7zr /usr/share/man/man1/7zr.1.gz
Syntaxe de la ligne de commande
Maintenant que la partie installation est terminée, jetons un coup d’œil à la syntaxe de la ligne de commande.
La syntaxe de la ligne de commande 7z est la suivante :
7z <command> <base_archive_name>
<arguments> peuvent être spécifiés comme suit . | <switch><wildcard><filename><list_file>
<switch> peuvent être spécifiés au format ; <switch_symbol><switch_characters>
<switch_symbol> peut être ‘/’ | ‘-‘.’
<list_file> est spécifié au format ; @{filename}
NOTE : Les expressions entre les crochets sont facultatives tandis que celles entre les accolades doivent être substituées par l’utilisateur.
Voici une brève description des différentes commandes et commutateurs utilisés avec la commande 7z;
<Commands>a: Add files to archiveb: Benchmarkd: Delete files from archivee: Extract files from archive (without using directory names)l: List contents of archivet: Test integrity of archiveu: Update files to archivex: eXtract files with full paths
<Switches>-ai]{@listfile|!wildcard}: Include archives-ax]{@listfile|!wildcard}: eXclude archives-bd: Disable percentage indicator-i]{@listfile|!wildcard}: Include filenames-m{Parameters}: set compression Method-o{Directory}: set Output directory-p{Password}: set Password-r: Recurse subdirectories-scs{UTF-8 | WIN | DOS}: set charset for list files-sfx: Create SFX archive-si: read data from stdin-slt: show technical information for l (List) command-so: write data to stdout-ssc: set sensitive case mode-t{Type}: Set type of archive-u: Update options-v{Size}: Create volumes-w: assign Work directory. Empty path means a temporary directory-x]]{@listfile|!wildcard}: eXclude filenames-y: assume Yes on all queries-an: Disable parsing of archive_name
Pour une liste complète des commutateurs, consultez les pages de manuel de 7z, 7zr, 7za ou visitez les commutateurs de la ligne de commande.
Exemple d’utilisation de la commande
Maintenant que nous avons appris à connaître certaines options de commande et les commutateurs de ligne de commande, voyons quelques utilisations pratiques de la commande 7z. Dans ces exemples, nous allons utiliser les fichiers et répertoires suivants;
lstest-dir tfile4.txt tfile5.txt tfile6.txt
ls test-dir/tfile1.txt tfile2.txt tfile3.txt
Créer une archive
Pour créer une archive, exécutez la commande 7z au format ;
7z a test-archive1.7z tfile4.txt tfile5.txt
7z a archive.xz test-dir/
Notez que, les types d’archives pris en charge pour la création sont 7z, XZ, GZIP, TAR, ZIP et BZIP2. Si le fichier d’archive spécifié existe déjà, il « ajoutera » les fichiers à l’archive existante, au lieu de l’écraser.
Extraire le contenu d’une archive
Pour décompresser une archive dans le répertoire actuel;
7z e test-archive1.7z -y
Les types d’archives pris en charge incluent 7z, XZ, GZIP, TAR, ZIP, BZIP2, LZMA2, CAB, ARJ, CPIO, RPM, ISO et DEB.
Extraire le contenu avec les chemins complets
7z x test-archive1.7z -y
Lister le contenu d’une archive
7z l test-archive1.7z
Tester l’intégrité d’une archive
7z t test-archive1.7z
Mettre à jour une archive en ajoutant plus de fichiers
7z u test-archive1.7z tfile6.txt
Supprimer certains fichiers d’une archive
7z d test-archive1.7z tfile4.txt
Exemple d’utilisation des commutateurs 7z
Les exemples ci-dessous sont extraits des pages de manuel de la commande 7z.
Ajouter tous les fichiers du répertoire « dir1 » à l’archive.7z
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on archive.7z dir1
Ajouter tous les fichiers du répertoire « dir1 » à l’archive SFX archive.exe
Notez que l’archive SFX DOIT se terminer par « .exe »
7z a -sfx archive.exe dir1
Ajouter tous les fichiers du répertoire « a_directory » à l’archive « archive.7z » (avec cryptage d’archive de données et d’en-tête activé)
7z a -mhe=on -pmy_password archive.7z a_directory
Pour une description complète des commutateurs 7z et des exemples d’utilisation, naviguez vers les commutateurs de ligne de commande 7z.
Sauvegarde et limites de la commande 7z
Ne pas utiliser le format 7-zip à des fins de sauvegarde sur Linux/Unix car :
- 7-zip ne stocke pas le propriétaire/groupe du fichier.
Sur Linux/Unix, pour sauvegarder des répertoires, vous devez utiliser tar :
- pour sauvegarder un répertoire :
tar cf - directory | 7za a -si directory.tar.7z
- pour restaurer votre sauvegarde :
7za x -so directory.tar.7z | tar xf -
Si vous voulez envoyer des fichiers et des répertoires (pas le propriétaire du fichier) à d’autres utilisateurs Unix/MacOS/Windows, vous pouvez utiliser le format 7-zip. Par exemple :
7za a directory.7z directory
- Ne pas utiliser « -r » car ce drapeau ne fait pas ce qu’il est censé faire.
- Ne pas utiliser « directory/* » à cause des fichiers « .* » (exemple : « directory/* » ne correspond pas à « directory/.profile »).
C’est tout sur la façon d’installer et d’utiliser 7zip sur Ubuntu 18.04/Ubuntu 20..04. Consultez les pages de manuel pour plus de détails.
Autres tutoriels
Installer Foxit PDF Reader sur Ubuntu 20.04
Installer et configurer ZSH et Oh-My-Zsh sur Ubuntu 20.04
Exécuter uniquement des commandes spécifiques avec sudo en Linux
.