GNU/Linux >> Tutoriels Linux >  >> Linux

Comment compresser des fichiers et des répertoires sous Linux

Zip est le format de fichier d'archive le plus largement 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 à l'aide des utilitaires disponibles pour tous les systèmes d'exploitation.

Ce tutoriel vous montrera comment compresser (compresser) des fichiers et des répertoires sous Linux en utilisant le zip commande.

zip Commande #

zip est un utilitaire de ligne de commande qui vous aide à créer des archives Zip.

Le zip commande 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 disposer d'autorisations d'écriture sur ce répertoire.

Les fichiers zip ne prennent pas en charge les informations de propriété de type Linux. Les fichiers extraits appartiennent à l'utilisateur qui exécute la commande. Pour préserver la propriété du fichier et les autorisations, utilisez le tar commande.

Le zip L'utilitaire n'est pas installé par défaut dans la plupart des distributions Linux, mais vous pouvez facilement l'installer à l'aide de votre gestionnaire de packages de 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, le zip La commande imprime les noms des fichiers ajoutés à l'archive et la méthode de compression. Nous expliquerons les méthodes et les niveaux de compression plus loin dans ce guide.

Si le nom de l'archive ne se termine pas par .zip , l'extension est ajoutée automatiquement à moins que le nom de l'archive ne contienne un point. zip archivename.zip filename créera une archive avec le même nom que le ferait zip archivename filename .

Pour supprimer la sortie du zip commande, utilisez la -q choix :

zip -q archivename.zip filename1 filename2 filename3

Souvent, vous créerez une archive zip d'un répertoire incluant le contenu des sous-répertoires. Le -r L'option vous permet de parcourir toute la structure du répertoire de manière récursive :

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 deflate . Si le zip l'utilitaire détermine qu'un fichier ne peut pas être compressé, il stocke simplement le fichier dans l'archive sans le compresser en utilisant le store méthode. Dans la plupart des distributions Linux, le zip l'utilitaire prend également en charge le bzip2 méthode de compression.

Pour spécifier une méthode de compression, utilisez le -Z option.

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%)

Le zip La commande vous permet de spécifier un niveau de compression à l'aide d'un nombre précédé d'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 le zip commande pour utiliser une compression optimale pour tous les fichiers.

Par exemple, pour utiliser le niveau de compression -9 , vous taperez quelque chose comme ceci :

zip -9 -r archivename.zip directory_name

Plus le niveau de compression est élevé, plus le processus de compression est gourmand en CPU et il prendra plus de temps.

Création d'un fichier ZIP protégé par mot de passe #

Si vous avez des informations sensibles qui doivent être stockées dans l'archive, vous pouvez les chiffrer en utilisant le -e choix :

zip -e  archivename.zip directory_name

La commande sera invitée à 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 souhaitiez stocker l'archive Zip sur un service d'hébergement de fichiers dont la taille limite 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 le -s option suivie d'une taille spécifiée. Le multiplicateur peut être k (kilooctets), 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 limite de taille spécifiée.

archivename.zip
archivename.z01
archivename.z02
archivename.z03
archivename.z04

zip commande Exemples #

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 du répertoire courant sans compresser les fichiers.

zip -0 archivename *.mp3

Conclusion #

Sous Linux, vous pouvez créer des archives Zip avec le zip commande.

Pour extraire une archive ZIP sur un système Linux, vous pouvez utiliser la commande unzip.

Si vous souhaitez en savoir plus sur le zip commande, consultez la page de manuel Zip.

Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.


Linux
  1. Comment compresser des fichiers et des répertoires sous Linux (avec exemples)

  2. Comment archiver des fichiers et des répertoires sous Linux [Partie 2]

  3. Comment archiver des fichiers et des répertoires sous Linux [Partie 1]

  4. Comment compresser plusieurs fichiers sous Linux

  5. Comment rechercher et supprimer des répertoires et des fichiers vides sous Linux

Comment décompresser des fichiers zip sous Linux

Comment renommer des fichiers et des répertoires sous Linux

Comment copier des fichiers et des répertoires dans un terminal Linux

Comment compresser des fichiers et des dossiers sous Linux

Comment supprimer des fichiers et des répertoires à l'aide de la ligne de commande Linux

Comment compresser un fichier sous Linux