GNU/Linux >> Tutoriels Linux >  >> Linux

Compresser et archiver des fichiers et des répertoires

Introduction à l'archivage et à la compression Linux

Archivage est le processus de combinaison de plusieurs fichiers et répertoires (de tailles identiques ou différentes) en un seul fichier. en second lieu compression est le processus de réduction de la taille d'un fichier ou d'un répertoire.

J'espère que vous comprenez la différence entre l'archivage et la compression. Passons maintenant au sujet.

Archives et répertoires

Les programmes les plus courants pour l'archivage de fichiers et de répertoires sont :

  1. Zip
  2. bZip2
  3. Tar

Commande ZIP sous Linux avec exemples

ZIP est un utilitaire de compression et d'empaquetage de fichiers pour Unix. De plus, chaque fichier est stocké dans un seul fichier.zip {.zip-filename} avec l'extension .zip .

  • Le programme zip place un ou plusieurs fichiers compressés dans une seule archive zip, ainsi que des informations sur les fichiers (nom, chemin, date et heure de la dernière modification, protection et informations de vérification pour vérifier l'intégrité du fichier). la structure des répertoires peut être compressée dans une archive zip avec une seule commande.
  • Les taux de compression de 2:1 à 3:1 sont courants pour les fichiers texte. zip a une méthode de compression (dégonflage) et peut également stocker des fichiers sans compression. De plus zip choisit automatiquement le meilleur des deux pour chaque fichier à compresser.
    Le programme n'est pas seulement utile pour conditionner un ensemble de fichiers à distribuer, mais également pour archiver des fichiers et économiser de l'espace disque en compressant temporairement les fichiers ou répertoires inutilisés.

Syntaxe :

zip [options] zipfile files_list

Syntaxe pour Création d'un fichier zip :

zip myfile.zip filename.txt

Extraction de fichiers à partir d'un fichier zip

En fait, Unzip listera, testera ou extraira des fichiers d'une archive ZIP, couramment trouvée sur les systèmes Unix. Le comportement par défaut (sans options) est d'extraire dans le répertoire courant (et les sous-répertoires en dessous) tous les fichiers du fichier spécifié. Archive ZIP.

 unzip myfile.zip 

Choix :
1. Option -d :

Supprime le fichier de l'archive zip. Après avoir créé un fichier zip, vous pouvez supprimer un fichier de l'archive à l'aide de l'option -d.
Supposons donc les fichiers suivants dans le répertoire courant :
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c
unixcop5.c
unixcop6.c
unixcop7.c
unixcop8.c

Syntaxe :

zip –d filename.zip file.txt
Command :
zip –d myfile.zip unixcop7.c

Après avoir supprimé unixcop7.c du fichier myfile.zip, les fichiers peuvent également être restaurés avec la commande unzip.

unzip myfile.zip
 ls

2.Option -u :

Met à jour le fichier dans l'archive zip. Cette option peut également être utilisée pour mettre à jour la liste de fichiers spécifiée ou ajouter de nouveaux fichiers au fichier zip existant.


Syntaxe :

zip –u filename.zip file.txt


supposons de la même manière que nous ayons ces fichiers dans mon répertoire actuel sont répertoriés ci-dessous:
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c

Command :
zip –u myfile.zip unixcop5.c

Après avoir mis à jour unixcop5.c à partir du fichier myfile.zip, les fichiers peuvent également être restaurés avec la commande unzip.

Commands:
unzip myfile.zip
ls 
3. Option -m :

Supprime les fichiers d'origine après la compression et vous pouvez également déplacer les fichiers spécifiés dans l'archive zip en fait, cela supprime les répertoires/fichiers cibles après avoir créé l'archive zip spécifiée. Si un répertoire devient vide après la suppression des fichiers, le répertoire est également supprimé.


Syntaxe :

zip –m filename.zip file.txt


nous avons les fichiers suivants dans mon répertoire actuel sont répertoriés ci-dessous:
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c

Command :
zip –m myfile.zip *.c

En conséquence cette commande a été exécutée par le terminal :

ls 

4.Option -r :

Pour compresser un répertoire de manière récursive, utilisez l'option -r avec la commande zip et il compressera de manière récursive les fichiers d'un répertoire. Cette option peut également vous aider à compresser tous les fichiers présents dans le répertoire spécifié.

Syntaxe :

zip –r filename.zip directory_name

Nous avons également les fichiers dans mon répertoire actuel (docs) sont répertoriés ci-dessous :
unix.pdf
oracle.pdf
linux.pdf

zip –r mydir.zip docs

5. Option -x :

Il est tout aussi important d'exclure les fichiers lors de la création du zip. Supposons que vous compressiez tous les fichiers du répertoire actuel et que vous souhaitiez exclure certains fichiers indésirables. Vous pouvez également exclure ces fichiers indésirables à l'aide de l'option -x.

Syntaxe :

zip –x filename.zip file_to_be_excluded


Supposons également que les fichiers du répertoire courant sont répertoriés ci-dessous :
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c

Command :
zip –x myfile.zip unixcop3.c

Cette commande à l'exécution compressera tous les fichiers sauf le fichier unixcop3.c

Command:
ls 
Output :
myfile.zip //compressed file
unixcop3.c   //this file has been excluded while compressing
6.Option -v :

Mode verbeux ou imprimer les informations de version de diagnostic. Normalement, lorsqu'elle est appliquée à des opérations réelles, cette option active l'affichage d'un indicateur de progression pendant la compression et demande des informations de diagnostic détaillées sur les bizarreries de la structure du fichier zip.


Lorsque -v est le seul argument de ligne de commande et que stdin ou stdout n'est pas redirigé vers un fichier, un écran de diagnostic s'affiche. En plus de l'en-tête de l'écran d'aide avec le nom du programme, la version et la date de sortie, certains pointeurs vers les sites d'accueil et de distribution Info-ZIP sont donnés. Ensuite, il affiche des informations sur l'environnement cible (type et version du compilateur, version du système d'exploitation, date de compilation et fonctionnalités facultatives activées utilisées pour créer l'exécutable zip.

Syntaxe :

zip –v filename.zip file1.txt


Comme indiqué ci-dessous :
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c

zip -v file1.zip *.c


Commande bzip2 sous Linux avec exemples

bzip2 commande sous Linux utilisée pour compresser et décompresser les fichiers, c'est-à-dire qu'elle aide à lier les fichiers dans un seul fichier qui prend moins d'espace de stockage que le fichier d'origine. De plus, il a un temps de décompression plus lent et une utilisation de la mémoire plus élevée. En plus de cela, il peut également utiliser l'algorithme de compression de texte de tri par blocs de Burrows-Wheeler et le codage de Huffman. Chaque fichier est remplacé par une version compressée de lui-même, avec le nom d'origine du fichier suivi de l'extension bz2.

Syntaxe pour la compression :

bzip2 [OPTIONS] filenames ...

Syntaxe de déballage :

 bunzip2 [OPTIONS] filenames ...

Choix :

  1. -z Option : Cette option force la compression.
bzip2 -z input.txt

Exemple :

  • Remarque : Cette option supprime également le fichier d'origine.

  • 2. Option -k : Cette option effectue la compression mais ne supprime pas le fichier d'origine.
 bzip2 -k input.txt

Exemple :

3. Option -d :

par conséquent, cette option est utilisée pour la décompression des fichiers compressés.

 bzip2 -d input.txt.bz2

Exemple :

4. Option -t :

Cette option vérifie l'intégrité du fichier et ne décompresse pas le fichier. Cela peut également nous donner l'idée que le fichier est corrompu ou non.

 bzip2 -t input.txt.bz2

Exemple :

5.Option -v : Le mode verbeux affiche le taux de compression pour chaque fichier traité.

 bzip2 -v input.txt
Exemple :
  • -h –help : Pour afficher le message d'aide et quitter.
  • -L –licence -V –version :Il est utilisé pour afficher la version du logiciel, les termes de la licence en plus des conditions.
  • -q –silencieux  :Cela supprimera les messages d'avertissement non essentiels. Les messages relatifs aux erreurs d'E/S et autres événements critiques ne seront pas non plus supprimés.
  • -f –force  :Cela forcera l'écrasement des fichiers de sortie.

commande tar sous Linux avec exemples

Le « tar » Linux signifie archive sur bande, utilisé pour créer une archive et également extraire les fichiers d'archive. La commande tar sous Linux est l'une des commandes importantes qui fournit des fonctionnalités d'archivage sous Linux. Nous pouvons utiliser la commande Linux tar pour créer des fichiers d'archive compressés ou non, ainsi que pour les maintenir et les modifier.

Syntaxe :

tar [options] [archive-file] [file or directory to be archived]

Choix :


-c : Crée une archive
-x : Extraire l'archive
-f : crée une archive avec le nom de fichier donné
-t : affiche ou répertorie les fichiers dans le fichier archivé
-u : archive et ajoute à un fichier d'archive existant
-v : Affiche des informations détaillées
-A : Concatène les fichiers d'archive
-z : zip, indique à la commande tar de créer un fichier tar à l'aide de gzip
-j : filtrer le fichier tar d'archive à l'aide de tbzip
-W : Vérifier un fichier d'archive
-r : mettre à jour ou ajouter un fichier ou un répertoire dans un fichier .tar déjà existant

Qu'est-ce qu'un fichier d'archive ?


Un fichier archive est un fichier composé d'un ou plusieurs fichiers avec des métadonnées. Les fichiers d'archive sont utilisés pour collecter plusieurs fichiers de données dans un seul fichier pour une portabilité et un stockage plus faciles. Il suffit donc de compresser les fichiers pour utiliser moins d'espace de stockage.

Exemples :


1. Création d'une archive tar non compressée à l'aide de l'option -cvf :

Cette commande crée un fichier tar appelé file.tar qui est l'archive de tous les fichiers .c du répertoire courant.

 tar cvf file.tar *.c

2. Extraction des fichiers de l'archive à l'aide de l'option -xvf :

Cette commande extrait les fichiers des Archives.

 tar xvf file.tar

3. compression gzip sur l'archive tar, en utilisant l'option -z :

Cette commande crée un fichier tar appelé file.tar.gz qui est l'archive des fichiers .c.

 tar cvzf file.tar.gz *.c

4. Extraction d'une archive tar gzip *.tar.gz en utilisant l'option -xvzf : Cette commande extrait également les fichiers des fichiers tar archivés file.tar.gz.

 tar xvzf file.tar.gz

5. Création d'un fichier d'archive tar compressé sous Linux à l'aide de l'option -j :

Cette commande compresse et crée un fichier d'archive inférieur à la taille du gzip. Compresser et décompresser prend plus de temps que gzip .

 tar cvfj file.tar.tbz example.cpp

6. Décompressez un fichier tar unique ou un répertoire spécifié sous Linux : Cette commande décompressera un fichier dans le répertoire courant en plus de le décompresser dans un répertoire spécifié à l'aide de l'option -C.

 tar xvfj file.tar 
or 
 tar xvfj file.tar -C path of file in directoy 

7. Décompressez plusieurs fichiers .tar, .tar.gz, .tar.tbz sous Linux

Cette commande extraira ou décompressera plusieurs fichiers du fichier d'archive tar, tar.gz et tar.bz2. Ainsi, par exemple, la commande ci-dessus extraira "fichierA" "fichierB" des fichiers d'archive.

 tar xvf file.tar "fileA" "fileB" 
or 
 tar zxvf file1.tar.gz "fileA" "fileB"
or 
 tar jxvf file2.tar.tbz "fileA" "fileB"

8. Vérifier la taille du fichier tar, tar.gz, tar.tbz existant sous Linux

Cette commande affichera la taille du fichier d'archive en kilo-octets (Ko).

 tar czf file.tar | wc -c
or 
 tar czf file.tar.gz | wc -c
or 
 tar czf file.tar.tbz | wc -c

9. Mettre à jour le fichier tar existant sous Linux

 tar rvf file.tar *.c

10. lister le contenu et spécifier le fichier tar en utilisant l'option -tf

Cette commande répertoriera la liste complète des fichiers archivés. Nous pouvons également répertorier un contenu spécifique dans un fichier tar

 tar tf file.tar

11. Appliquer le tuyau à travers la commande grep' pour trouver ce que nous recherchons

Cette commande répertorie uniquement le texte ou l'image mentionné dans grep à partir du fichier archivé.

 tar tvf file.tar | grep "text to find" 
or
 tar tvf file.tar | grep "filename.file extension"
Example:
tar tvf file.tar | grep "unixcop1"

12. Nous pouvons passer un nom de fichier comme argument pour rechercher un fichier tar

Cette commande affiche les fichiers archivés avec leurs détails.

 tar tvf file.tar filename
Example:
 tar tvf file.tar unixcop1.c

13. Affichage de l'archive à l'aide de l'option -tvf

 tar tvf file.tar

Que sont les caractères génériques sous Linux


Par conséquent appelé « caractère générique » ou « caractère générique », un caractère générique est un symbole utilisé pour remplacer ou représenter un ou plusieurs caractères. Les caractères génériques sont généralement soit un astérisque (*) , qui représente un ou plusieurs caractères ou point d'interrogation (?) ,qui représente un seul caractère.

Exemple :

14. Pour rechercher une image au format .png

Cela extraira uniquement les fichiers avec l'extension .png du fichier d'archive.tar. L'option wildcards indique également à tar d'interpréter les caractères génériques dans le nom des fichiers à extraire en plus du nom de fichier (*.png) est entouré de guillemets simples pour empêcher le caractère générique (*) d'être développé de manière incorrecte par le shell.

 tar tvf file.tar --wildcards '*.png' 

Remarque : Dans les commandes ci-dessus, " * " est utilisé à la place du nom de fichier pour prendre tous les fichiers présents dans ce répertoire particulier.


Linux
  1. Un moyen facile de masquer des fichiers et des répertoires sous Linux

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

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

  4. Linux Supprimer des fichiers et des répertoires

  5. Définition d'ACL différentes sur les répertoires et les fichiers

Comment compresser et décompresser des fichiers sur Ubuntu

Comment synchroniser des fichiers et des répertoires à l'aide de Zaloha.sh

3 façons de trouver des fichiers et des répertoires sous Linux

Économisez de l'espace en compressant les fichiers et les dossiers sous Linux

Trouvez facilement des fichiers et des répertoires sur Linux

Fichiers et répertoires par défaut dans cPanel