GNU/Linux >> Tutoriels Linux >  >> Linux

Compresser un dossier avec tar ?

Vers tar et gzip un dossier, la syntaxe est :

tar czf name_of_archive_file.tar.gz name_of_directory_to_tar

Le - avec czf est facultatif.

Si vous voulez tar le répertoire courant, utilisez . pour désigner cela.

Pour construire dynamiquement des noms de fichiers, utilisez le date utilitaire (consultez sa page de manuel pour les options de format disponibles). Par exemple :

cd /var/www &&
tar czf ~/www_backups/$(date +%Y%m%d-%H%M%S).tar.gz .

Cela créera un fichier nommé quelque chose comme 20120902-185558.tar.gz .

Sous Linux, il y a de fortes chances que votre tar prend également en charge la compression BZip2 avec le j plutôt que z option. Et éventuellement d'autres. Consultez la page de manuel de votre système local.


Exemples d'algorithmes de compression les plus courants

Le titre de la question est simplement "Compresser un dossier avec tar ?" Étant donné que ce titre est très général, mais que la question et la réponse sont beaucoup plus spécifiques, et en raison du très grand nombre de vues que cette question a attirées, j'ai pensé qu'il serait avantageux d'ajouter une liste à jour d'exemples des deux archivage/compression et extraction/décompression, avec divers algorithmes de compression couramment utilisés.

Ceux-ci ont été testés avec Ubuntu 18.04.4. Ils sont très simples pour une utilisation générale, mais pourraient facilement être intégrés dans le contenu des questions plus spécifiques du PO en utilisant les techniques de la réponse acceptée et les commentaires utiles ci-dessus.

Une chose à noter pour le public plus général est que tar n'ajoutera pas les extensions nécessaires (comme .tar.gz ) automatiquement - l'utilisateur doit les ajouter explicitement, comme indiqué dans les commandes ci-dessous :

# 1: tar (create uncompressed archive) all files and directories in the current working directory recursively into an uncompressed tarball
tar cvf filename.tar *

# 2: Untar (extract uncompressed archive) all files and directories in an uncompressed tarball recursively into the current working directory
tar xvf filename.tar

# 3: tar (create gzipped archive) all files and directories in the current working directory recursively into a tarball compressed with gzip
tar cvzf filename.tar.gz *

# 4: Untar (extract gzipped archive) all files and directories in a tarball compressed with gzip recursively into the current working directory
tar xvf filename.tar.gz # Note: same options as 2 above

# 5: tar (create bzip2'ed archive) all files and directories in the current working directory recursively into a tarball compressed with bzip2
tar cvjf filename.tar.bz2 * # Note: little 'j' in options

# 6: Untar (extract bzip2'ed archive) all files and directories in an tarball compressed with bzip2 recursively into the current working directory
tar xvf filename.tar.bz2 # Note: same options as 2 and 4 above

# 7: tar (create xz'ed archive) all files and directories in the current working directory recursively into a tarball compressed with xz
tar cvJf filename.tar.xz * # Note: capital 'J' in options

# 8: Untar (extract xz'ed archive) all files and directories in an tarball compressed with xz recursively into the current working directory
tar xvf filename.tar.xz # Note: same options as 2, 4, and 6 above

Voir la page man tar (mieux vaut utiliser man tar sur votre machine spécifique) pour plus de détails. Ci-dessous, je résume les options utilisées ci-dessus directement à partir de la page de manuel :

-c, --create
créer une nouvelle archive

-x, --extract, --get
extraire des fichiers d'une archive

-v, --verbose
lister de manière détaillée les fichiers traités

-z, --gzip
filtrer l'archive via gzip

-j, --bzip2
filtrer l'archive via bzip2

-J, --xz
filtrer l'archive par xz

-f, --file=ARCHIVE
utiliser le fichier d'archive ou l'ARCHIVE de l'appareil

Pas besoin d'ajouter le - devant les options combinées, soit le = signe entre le f option et le nom du fichier.

J'ai tiré tout cela de mon récent article, qui sera développé plus loin dans un article beaucoup plus complet au fur et à mesure que j'aurai le temps d'y travailler.


Linux
  1. 16 commandes Tar pour compresser et extraire des fichiers sous Linux

  2. Trier les fichiers dans un dossier spécifique avec Ranger ?

  3. Comment compresser/décompresser sous Linux

  4. Ouvrir un fichier .tar.gz avec une seule commande

  5. tar -C avec un modèle de fichier générique

Commande tar sous Linux avec des exemples

Tar Vs Zip Vs Gz :Différence Et Efficacité

Commande tar Linux - Comment compresser des fichiers sous Linux

Monter un dossier distant avec sshfs

Premiers pas avec la commande Tar

Le didacticiel Ultimate Tar Command avec 10 exemples pratiques