web-dev-qa-db-fra.com

gzip 2 fichiers en un seul fichier

Je veux gzip deux ou plusieurs fichiers dans un fichier, j'ai vérifié this et this mais les deux ont des fichiers tels que: n1.txt, n2.txt, ... mais mes noms de fichiers sont complètement différents , comme: file.mp4, bar.txt, foo.jpeg et je veux les gzip tous et mettre la sortie dans un seul fichier. Cela n'a pas aidé aussi:

gzip -c file.mp4 > test.gz
gzip -c bar.txt >> test.gz

Dois-je les tarer d'abord?

Et une autre question: dans les fichiers tar, nous pouvons regarder les fichiers internes sans décompression en utilisant:

tar -tvf filename.tar

Est-il possible de faire cela avec gzip ou bzip2?

7
Mohammad Kholghi

Contrairement à Zip, RAR ou 7-Zip, par exemple, gzipne peut compresser qu'un seul fichier. Comme vous l'avez déjà noté, il existe le programme tarqui permet de sérialiser plusieurs fichiers en un, ce qui les rend prêts pour gzipname__. La philosophie Unix traditionnelle préfère utiliser plusieurs outils plus simples et plus spécialisés qu'un outil monolithique et compliqué. Dans ce cas, taret gzipsont utilisés consécutivement, ce qui donne un fichier .tar.gz (ou .tgz).

Cependant, GNU tarinclut l'option -z qui compresse le résultat du tartraditionnel en utilisant gzipen une seule commande.

Les fichiers .tar.gz sont généralement créés à l'aide des options -czvf:

  • cname__reate une nouvelle archive
  • gzname__ip (alternatives: jpour bzip2, Jpour xz)
  • vname__erbose (liste des fichiers traités; facultatif)
  • output fname__ile (l'argument suivant spécifie le fichier de sortie)

Dans votre exemple, vous pouvez utiliser la commande:

tar -czvf test.tar.gz file.mp4 bar.txt

Est-il possible de regarder des fichiers internes sans décompression avec gzip ou bzip2?

Oui, votre commande fonctionne également pour un fichier .tar.gz:

tar -tvf test.tar.gz

Lectures complémentaires

12
Melebius

gzip est un compresseur, pas un archiveur, mais il fonctionne bien avec tar

tar -cvzf file.tar.gz path-to-files-or-directories-to-compress

Voir man tar

Compression options
   -a, --auto-compress
          Use archive suffix to determine the compression program.

   -I, --use-compress-program=COMMAND
          Filter data through COMMAND.  It must accept the -d option,  for
          decompression.  The argument can contain command line options.

   -j, --bzip2
          Filter the archive through bzip2(1).

   -J, --xz
          Filter the archive through xz(1).

   --lzip Filter the archive through lzip(1).

   --lzma Filter the archive through lzma(1).

   --lzop Filter the archive through lzop(1).

   --no-auto-compress
          Do not use archive suffix to determine the compression program.

   -z, --gzip, --gunzip, --ungzip
          Filter the archive through gzip(1).

   -Z, --compress, --uncompress
          Filter the archive through compress(1).

Et oui, vous pouvez regarder les archives compressées de la même manière.

4
sudodus