Bash Linux #5 - Compression des fichiers
Table des matières:
- Commande
zip
- Installer Zip sur Ubuntu et Debian
- Installer Zip sur CentOS et Fedora
- Comment compresser des fichiers et des répertoires
- Méthodes et niveaux de compression
- Création d'un fichier ZIP protégé par mot de passe
- Création d'un fichier Zip divisé
- Exemples ZIP
- Conclusion
Zip est le format de fichier archive le plus utilisé qui prend en charge la compression de données sans perte.
Un fichier Zip est un conteneur de données contenant un ou plusieurs fichiers ou répertoires compressés. Les fichiers compressés (zippés) occupent moins d'espace disque et peuvent être transférés d'une machine à une autre plus rapidement que les fichiers non compressés. Les fichiers Zip peuvent être facilement extraits sous Windows, macOS et Linux en utilisant les utilitaires disponibles pour tous les systèmes d'exploitation.
Dans ce didacticiel, nous allons vous montrer comment compresser (compresser) des fichiers et des répertoires sous Linux à l'aide de la commande
zip
.
Commande
zip
zip
est un utilitaire de ligne de commande qui vous aide à créer des archives Zip.
La commande zip prend la forme syntaxique suivante:
zip OPTIONS ARCHIVE_NAME FILES
Pour créer une archive Zip dans un répertoire spécifique, l'utilisateur doit avoir des autorisations d'écriture sur ce répertoire.
Les fichiers Zip ne prennent pas en charge les informations de propriété de style Linux. Les fichiers extraits appartiennent à l'utilisateur qui exécute la commande.
Pour conserver la propriété du fichier et les autorisations, utilisez la commande
tar
.
L'utilitaire
zip
n'est pas installé par défaut dans la plupart des distributions Linux, mais vous pouvez facilement l'installer à l'aide du gestionnaire de packages de votre distribution.
Installer Zip sur Ubuntu et Debian
Installer Zip sur CentOS et Fedora
Comment compresser des fichiers et des répertoires
Pour compresser un ou plusieurs fichiers, spécifiez les fichiers que vous souhaitez ajouter à l'archive séparés par un espace comme indiqué ci-dessous:
zip archivename.zip filename1 filename2 filename3
adding: filename1 (deflated 63%) adding: filename2 (stored 0%) adding: filename3 (deflated 38%)
Par défaut, la commande
zip
imprime les noms des fichiers ajoutés à l'archive et la méthode de compression. Nous expliquerons les méthodes et le niveau de compression plus loin dans ce guide.
Lorsque vous spécifiez le nom de l'archive Zip si vous omettez l'extension
.zip
elle sera ajoutée automatiquement, sauf si le nom de l'archive contient un point.
zip archivename.zip filename
créera une archive avec le même nom que le nom de
zip archivename filename
.
Pour supprimer la sortie de la commande
zip
, utilisez l'option
-q
:
zip -q archivename.zip filename1 filename2 filename3
Souvent, vous créerez une archive Zip d'un répertoire comprenant le contenu des sous-répertoires. L'option
-r
vous permet de parcourir la structure de répertoires entière de manière récursive.
Pour créer une archive Zip d'un répertoire, vous utiliseriez:
zip -r archivename.zip directory_name
Vous pouvez également ajouter plusieurs fichiers et répertoires dans la même archive:
zip -r archivename.zip directory_name1 directory_name2 file1 file1
Méthodes et niveaux de compression
La méthode de compression par défaut de Zip est le dégonflage. Si l'utilitaire zip détermine qu'un fichier ne peut pas être compressé, il stocke simplement le fichier dans l'archive sans le compresser à l'aide de la méthode store. Dans la plupart des distributions Linux, l'utilitaire zip prend également en charge la méthode de compression bzip2.
Pour spécifier une méthode de compression, utilisez l'option
-Z
.
zip -r -Z bzip2 archivename.zip directory_name
… adding: sub_dir/ (stored 0%) adding: sub_dir/file1 (bzipped 52%) adding: sub_dir/file2 (bzipped 79%)
La commande
zip
vous permet de spécifier un niveau de compression en utilisant un nombre préfixé avec un tiret de 0 à 9. Le niveau de compression par défaut est
-6
. Lors de l'utilisation de
-0
, tous les fichiers seront stockés sans compression.
-9
forcera la commande
zip
à utiliser une compression optimale pour tous les fichiers.
Par exemple, pour utiliser le niveau de compression
-9
, vous devez taper quelque chose comme ceci:
zip -9 -r archivename.zip directory_name
Plus le niveau de compression est élevé, plus le processus zip est gourmand en ressources processeur et sa réalisation prendra plus de temps.
Création d'un fichier ZIP protégé par mot de passe
zip -e archivename.zip directory_name
Vous serez invité à saisir et à vérifier le mot de passe de l'archive:
Enter password: Verify password:
Création d'un fichier Zip divisé
Imaginez que vous souhaitez stocker l'archive Zip sur un service d'hébergement de fichiers dont la taille de téléchargement est de 1 Go et que votre archive Zip est de 5 Go.
Vous pouvez créer un nouveau fichier Zip divisé en utilisant l'option
-s
suivie de la taille spécifiée. Le multiplicateur peut être k (kilo-octets), m (mégaoctets), g (gigaoctets) ou t (téraoctets).
zip -s 1g -r archivename.zip directory_name
La commande ci-dessus continuera à créer de nouvelles archives dans un ensemble après avoir atteint la taille limite spécifiée.
archivename.zip archivename.z01 archivename.z02 archivename.z03 archivename.z04
Exemples ZIP
Créez une archive Zip nommée archivename.zip contenant tous les fichiers du répertoire courant.
zip archivename *
Comme ci-dessus, y compris les fichiers cachés (fichiers commençant par un point):
zip archivename.* *
Créez une archive Zip nommée
archivename.zip
contenant tous les fichiers MP3 dans le répertoire courant sans compresser les fichiers.
Conclusion
Sous Linux, vous pouvez créer des archives Zip avec la commande
zip
.
Pour extraire une archive ZIP sur un système Linux, vous pouvez utiliser la commande décompresser.
terminal zipComment copier des fichiers et des répertoires sous Linux

La copie de fichiers et de répertoires est l'une des tâches les plus courantes que vous effectuerez lorsque vous travaillerez sur la ligne de commande. Sous Linux, il existe plusieurs commandes pour copier des fichiers avec cp et rsync étant les outils les plus utilisés.
Comment déplacer des fichiers et des répertoires sous Linux (commande mv)

Le déplacement de fichiers et de répertoires est l'une des tâches les plus élémentaires que vous devez souvent effectuer sur un système Linux. Dans ce didacticiel, nous expliquerons comment utiliser la commande mv pour déplacer des fichiers et des répertoires.
Comment renommer des fichiers et des répertoires sous Linux

Renommer des fichiers et des répertoires est l'une des tâches les plus élémentaires que vous devez souvent effectuer sur un système Linux. Dans ce didacticiel, nous allons vous montrer comment utiliser les commandes mv et rename pour renommer des fichiers et des répertoires.