Maintenant que nous savons créer des archives et afficher leur contenu, apprenons à extraire des fichiers d'une archive. Cela est utile lorsque vous devez restaurer des fichiers à partir d'une sauvegarde ou lorsque vous recevez une archive d'une autre personne.
Pour illustrer cela, simulons d'abord un scénario où notre structure de répertoires d'origine est perdue. Nous allons supprimer le répertoire document_library
:
rm -rf ~/project/document_library
La commande rm
supprime des fichiers et des répertoires, et les options -rf
lui indiquent d'opérer de manière récursive et de forcer la suppression sans demander de confirmation. Soyez prudent lorsque vous utilisez cette commande dans des scénarios réels, car elle supprime définitivement les fichiers.
Vérifions que le répertoire a été supprimé :
ls -la ~/project
Vous ne devriez pas voir document_library
dans la liste, mais vous devriez toujours voir votre fichier documents_archive.tar.gz
.
Maintenant, extrayons l'archive pour restaurer nos fichiers. La syntaxe de base pour extraire avec tar
est la suivante :
tar [options] [nom-de-l-archive]
Les options d'extraction courantes incluent :
-x
: Extraire des fichiers d'une archive
-z
: Décompresser à l'aide de gzip
-v
: Mode verbeux (afficher la progression)
-f
: Spécifier le nom de fichier de l'archive
-C
: Changer de répertoire avant l'extraction
Extrayons notre archive :
tar -xzvf ~/project/documents_archive.tar.gz -C ~/project
Dans cette commande :
-x
indique à tar
d'extraire des fichiers
-z
indique à tar
de décompresser l'archive compressée avec gzip
-v
active le mode verbeux, affichant les fichiers en cours d'extraction
-f ~/project/documents_archive.tar.gz
spécifie le fichier d'archive
-C ~/project
indique à tar
d'extraire les fichiers dans le répertoire ~/project
Vous devriez voir une sortie listant tous les fichiers en cours d'extraction, similaire à ce que vous avez vu lors de la création de l'archive.
Vérifions que notre structure de répertoires a été restaurée :
ls -R ~/project/document_library
Vous devriez voir la même structure de répertoires et les mêmes fichiers que nous avons créés à l'origine :
/home/labex/project/document_library:
references reports specifications
/home/labex/project/document_library/references:
guide.txt handbook.txt manual.txt
/home/labex/project/document_library/reports:
annual.txt monthly.txt quarterly.txt
/home/labex/project/document_library/specifications:
product.txt service.txt system.txt
Si vous ne voulez extraire que des fichiers spécifiques d'une archive, vous pouvez spécifier leurs chemins après le nom de l'archive. Par exemple, pour extraire uniquement le répertoire reports
:
mkdir -p ~/project/extracted_reports
tar -xzvf ~/project/documents_archive.tar.gz -C ~/project/extracted_reports document_library/reports
Cela extraira uniquement le répertoire reports
et son contenu dans le répertoire extracted_reports
.
Félicitations ! Vous avez appris avec succès à extraire des fichiers d'une archive à l'aide de la commande tar
. Cette compétence est essentielle pour restaurer des sauvegardes, installer des logiciels à partir de leur code source et de nombreuses autres opérations sous Linux.