La commande GNU tar incluse avec les distributions Linux intègre la compression. Il peut créer une archive.tar, puis la compresser avec la compression gzip ou bzip2 en une seule commande. C’est pourquoi le fichier résultant est un fichier.tar.gz ou un fichier.tar.bz2.
Compresser un répertoire entier ou un fichier unique
Utilisez la commande suivante pour compresser un répertoire entier ou un seul fichier sous Linux. Il compressera également tous les autres répertoires d'un répertoire que vous spécifiez. En d'autres termes, il fonctionne de manière récursive.
tar -czvf name-of-archive.tar.gz /path/to/directory-or-file
Voici ce que ces commutateurs signifient réellement:
- -c: Ccréer une archive.
- -z: Compresse l'archive avec g zip.
- -v: affiche la progression dans le terminal lors de la création de l'archive, également appelée “ verbose”. Le v est toujours facultatif dans ces commandes, mais il est utile.
- -f: Permet de spécifier le Filename de l'archive.
Supposons que vous avez un répertoire nommé "stuff" dans le répertoire actuel et que vous souhaitez l’enregistrer dans un fichier nommé archive.tar.gz. Vous avez exécuté la commande suivante:
tar -czvf archive.tar.gz stuff
Ou bien, supposons qu’il existe un répertoire dans / usr / local / quelque chose sur le système actuel et que vous souhaitez le compresser dans un fichier nommé archive.tar.gz. Vous avez exécuté la commande suivante:
tar -czvf archive.tar.gz /usr/local/something
Compresser plusieurs répertoires ou fichiers à la fois
Bien que tar soit fréquemment utilisé pour compresser un seul répertoire, vous pouvez également l'utiliser pour compresser plusieurs répertoires, plusieurs fichiers individuels ou les deux. Fournissez simplement une liste de fichiers ou de répertoires au lieu d'un seul. Par exemple, supposons que vous vouliez compresser le répertoire / home / ubuntu / Downloads, le répertoire / usr / local / stuff et le fichier /home/ubuntu/Documents/notes.txt. Vous venez d’exécuter la commande suivante:
tar -czvf archive.tar.gz /home/ubuntu/Downloads /usr/local/stuff /home/ubuntu/Documents/notes.txt
Il suffit de lister autant de répertoires ou de fichiers que vous souhaitez sauvegarder.
Exclure des répertoires et des fichiers
Dans certains cas, vous souhaiterez peut-être compresser un répertoire entier sans inclure certains fichiers et répertoires. Vous pouvez le faire en ajoutant un
--exclude
Basculez pour chaque répertoire ou fichier à exclure.
Par exemple, supposons que vous vouliez compresser / home / ubuntu, mais pas les répertoires / home / ubuntu / Downloads et /home/ubuntu/.cache. Voici comment vous le feriez:
tar -czvf archive.tar.gz /home/ubuntu --exclude=/home/ubuntu/Downloads --exclude=/home/ubuntu/.cache
le
--exclude
le commutateur est très puissant. Il ne prend pas les noms de répertoires et de fichiers - il accepte en fait des modèles. Vous pouvez faire beaucoup plus avec cela. Par exemple, vous pouvez archiver un répertoire entier et exclure tous les fichiers.mp4 avec la commande suivante:
tar -czvf archive.tar.gz /home/ubuntu --exclude=*.mp4
Utilisez plutôt la compression bzip2
Bien que la compression gzip soit le plus souvent utilisée pour créer des fichiers.tar.gz ou.tgz, tar prend également en charge la compression bzip2. Cela vous permet de créer des fichiers compressés bzip2, souvent nommés fichiers.tar.bz2,.tar.bz ou.tbz. Pour ce faire, il suffit de remplacer le -z pour gzip dans les commandes ici par un -j pour bzip2.
Gzip est plus rapide, mais il compresse généralement un peu moins, vous obtenez donc un fichier un peu plus volumineux. Bzip2 est plus lent, mais il compresse un peu plus, vous obtenez donc un fichier un peu plus petit. Gzip est également plus courant, avec certains systèmes Linux allégés comprenant le support gzip par défaut, mais pas le support bzip2. En général, cependant, gzip et bzip2 sont pratiquement la même chose et les deux fonctionneront de la même manière.
Par exemple, au lieu du premier exemple que nous avons fourni pour la compression du répertoire de commandes, vous devez exécuter la commande suivante:
tar -cjvf archive.tar.bz2 stuff
Extraire une archive
Une fois que vous avez une archive, vous pouvez l'extraire avec la commande tar. La commande suivante extraira le contenu de archive.tar.gz dans le répertoire actuel.
tar -xzvf archive.tar.gz
C’est la même chose que la commande de création d’archive que nous avons utilisée ci-dessus, sauf que
-x
commutateur remplace le
-c
commutateur. Cela spécifie que vous voulez e Xconsulter une archive au lieu d'en créer une.
Vous souhaiterez peut-être extraire le contenu de l'archive dans un répertoire spécifique. Vous pouvez le faire en ajoutant le
-C
passe à la fin de la commande. Par exemple, la commande suivante extraira le contenu du fichier archive.tar.gz dans le répertoire / tmp.
tar -xzvf archive.tar.gz -C /tmp
Si le fichier est un fichier compressé par bzip2, remplacez le «z» dans les commandes ci-dessus par un «j».
C'est l'utilisation la plus simple possible de la commande tar. La commande inclut un grand nombre d’options supplémentaires, nous ne pouvons donc pas toutes les énumérer ici. Pour plus d'informations. lancer le info tar shell pour afficher la page d’informations détaillées de la commande tar. appuyez sur la q touche pour quitter la page d’information lorsque vous avez terminé. Vous pouvez également lire le manuel de tar en ligne.
Si vous utilisez un bureau graphique Linux, vous pouvez également utiliser l’utilitaire de compression de fichiers ou le gestionnaire de fichiers inclus avec votre bureau pour créer ou extraire des fichiers.tar. Sous Windows, vous pouvez extraire et créer des archives.tar avec l'utilitaire gratuit 7-Zip.