web-dev-qa-db-ja.com

2つのファイルを1つのファイルにgzip

2つ以上のファイルを1つのファイルにgzip圧縮したい場合、 this および this をチェックしましたが、両方ともn1.txtn2.txt、のようなファイルがあります。 ..しかし、私のファイル名はfile.mp4bar.txtfoo.jpegのように完全に異なっており、それらをすべてgzipして1つのファイルに出力したいです。これも助けにはなりませんでした:

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

最初にそれらをtarする必要がありますか?

もう1つの質問:tarファイルでは、以下を使用して解凍せずに内部ファイルを監視できます。

tar -tvf filename.tar

とにかくgzipまたはbzip2でこれを行う方法はありますか?

7

たとえば、Zip、RAR、または7-Zipとは異なり、gzipは1つのファイルのみを圧縮できます。既に述べたように、複数のファイルを1つにシリアル化してtarに対応できるgzipプログラムがあります。従来のUnix哲学では、1つのモノリシックで複雑なツールよりも複数の単純でより専門的なツールを使用することを好みます。この場合、targzipが連続して使用され、.tar.gz(または.tgz)ファイルが作成されます。

ただし、GNU tarには、1つのコマンドでtarを使用して従来のgzipの結果を圧縮する-zオプションが含まれています。

.tar.gzファイルのほとんどは、-czvfオプションを使用して作成されます。

  • c新しいアーカイブを作成する
  • gzip(代替:j for bzip2、J for xz)
  • verbose(処理済みファイルのリスト。オプション)
  • output file(次の引数は出力ファイルを指定します)

例では、次のコマンドを使用できます。

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

Gzipまたはbzip2で解凍せずに内部ファイルを見る方法はありますか?

はい、コマンドは.tar.gzファイルに対しても機能します:

tar -tvf test.tar.gz

参考文献

12
Melebius

gzipはコンプレッサーであり、アーカイバではありませんが、tarでうまく機能します

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

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).

はい、圧縮アーカイブも同じように見ることができます。

4
sudodus