Android

Comment compresser des fichiers et des répertoires sous Linux

Bash Linux #5 - Compression des fichiers

Bash Linux #5 - Compression des fichiers

Table des matières:

Anonim

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

sudo apt install zip

Installer Zip sur CentOS et Fedora

sudo yum install zip

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.

zip -0 archivename *.mp3

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 zip