GNU/Linux >> Tutoriels Linux >  >> Linux

Comment compresser un répertoire sous Linux

Comment gzipez-vous un répertoire sous Linux? Il n'utilise certainement pas la commande gzip car si vous essayez de compresser un dossier à l'aide de la commande gzip, vous verrez cette erreur :

gzip :la cible est un répertoire -- ignoré

Intéressant, n'est-ce pas ? La commande gzip ne peut pas compresser un répertoire car, essentiellement, gzip fonctionne sur des fichiers individuels, pas sur l'ensemble du dossier.

Que pouvez-vous faire maintenant? Comment compresser gzip un fichier sous Linux? Voici ce que vous pouvez faire.

gzip un répertoire à l'aide de la commande tar

Au lieu d'essayer de compresser le dossier directement, vous devez d'abord utiliser tar dessus. La commande tar rassemblera tous les fichiers dans un seul fichier d'archive. Il ne compresse pas le fichier lui-même.

Si vous combinez tar avec gzip, la commande tar créera un seul fichier d'archive à partir du dossier, puis gzip compressera ce fichier d'archive.

La bonne chose est que vous pouvez effectuer ces deux étapes en une seule commande en utilisant l'option z. La commande ressemble à ceci :

tar -zcvf output_file_name directory_to_compress

Laissez-moi vous expliquer les options utilisées dans la commande ci-dessus :

  • z – indique à tar qu'il s'agit de gzip fichier
  • c – dit à tar de créer le fichier d'archive
  • v - mode détaillé indiquant quels fichiers sont en cours de traitement
  • f - la sortie est un fichier

Exemple d'utilisation de tar et gzip pour compresser un dossier

Disons que j'ai un tas de fichiers dans un répertoire. Si j'utilise la commande du pour obtenir la taille du répertoire, c'est 204 Ko.

du -sh sample_text_files
204K    sample_text_files

Maintenant, si je compresse le dossier avec gzip :

tar -cvzf sample_text_archive  sample_text_files
sample_text_files/
sample_text_files/sample_rar.rar
sample_text_files/test/
sample_text_files/dir2/
sample_text_files/dir2/services
sample_text_files/dir2/agatha.txt
sample_text_files/abhi-3.txt

Maintenant, si je vérifie la taille du dossier compressé à l'aide de la commande ls, c'est à peine 10 Ko.

ls -lh sample_text_archive 
-rw-r--r-- 1 abhishek abhishek 9.6K Apr 11 11:41 sample_text_archive

Gardez à l'esprit lorsque vous utilisez la commande tar et gzip

Vous devez noter quelques points lors de l'utilisation de la commande tar :

Il est important de fournir le nom du fichier dans la commande, sinon vous verrez cette erreur :

tar: Cowardly refusing to create an empty archive
Try 'tar --help' or 'tar --usage' for more information.

Si vous n'utilisez pas du tout l'option -f, vous verrez toujours une erreur, différente cette fois.

tar: Refusing to write archive contents to terminal (missing -f option?)
tar: Error is not recoverable: exiting now

J'espère que cette commande vous a aidé à compresser un répertoire sous Linux et que vous avez également appris quelques éléments liés au tar et à la compression. Maintenant que vous savez comment compresser un dossier, vous aimeriez peut-être savoir comment extraire le fichier tar xz sous Linux.

Toutes les questions, suggestions ou un simple mot de remerciement sont toujours les bienvenus.


Linux
  1. Comment mettre à jour un lien symbolique Linux

  2. Comment extraire des fichiers tar dans un répertoire spécifique ou différent sous Linux

  3. Comment renommer un répertoire sous Linux

  4. Comment extraire ou décompresser le fichier tar.xz sous Linux

  5. Comment créer un nouveau répertoire sous Linux

Comment configurer SFTP chrooté sous Linux

Comment utiliser la commande cd sous Linux

Comment déplacer un répertoire sous Linux

Comment copier un répertoire sous Linux

Comment compter les fichiers dans le répertoire sous Linux

Comment utiliser gzip sous Linux ?