3. tar と gzip

パッケージマネージャーに深く入る前に、ファイルアーカイブと圧縮を理解することが不可欠です。オンラインでソフトウェアをダウンロードすると、アーカイブされ圧縮された形式でパッケージ化されていることがよくあります。このレッスンでは、この目的のための 2 つの基本的なユーティリティ、targzipに焦点を当てます。

アーカイブと圧縮の理解

アーカイブと圧縮を区別することが重要です。アーカイブとは、複数のファイルやディレクトリを単一のファイル(アーカイブと呼ばれる)にまとめるプロセスです。これにより、ファイルのグループの管理と転送が容易になります。一方、圧縮とは、ディスクスペースを節約し転送を高速化するためにファイルのサイズを縮小するプロセスです。tarユーティリティはアーカイブに使用され、gzipは圧縮に使用されます。多くの場合、gzipとtarが一緒に使用されているのを目にします。

gzip を使用した単一ファイルの圧縮

gzipプログラムは、Linux で個々のファイルを圧縮するために使用されます。gzipでファイルを圧縮すると、そのファイルは.gz拡張子を持つファイルに置き換えられます。

ファイルを圧縮するには:

gzip mycoolfile

これによりmycoolfile.gzが作成され、オリジナルは削除されます。ファイルを解凍するには、gunzipを使用できます。

gunzip mycoolfile.gz

tar を使用したアーカイブの作成

gzipは圧縮には優れていますが、複数のファイルを単一のアーカイブにバンドルすることはできません。そのためには、tar(Tape Archive)ユーティリティを使用します。tarで作成されたファイルは「tarball」と呼ばれることが多く、.tar拡張子を持ちます。

複数のファイルを含む新しいアーカイブを作成するには:

tar cvf myarchive.tar file1 file2 directory1

オプションの内訳を見てみましょう。

  • c: 新しいアーカイブをcreate(作成)します。
  • v: verbose(詳細)モード。処理中にファイルがリストされます。
  • f: file(ファイル)。次の引数がアーカイブファイルの名前であることを指定します。

tar と gzip を組み合わせたパワー

真のパワーは、tarとgzipを一緒に使用することから生まれます。まず.tarアーカイブを作成し、次にgzipで圧縮して.tar.gzファイルを作成できます。しかし、tarzオプションを使用して、tar compressionを単一のステップで処理する便利な方法を提供します。このプロセスは、gzip tarアーカイブを作成することとも呼ばれます。

.tar.gzファイルを圧縮する一般的な方法である圧縮アーカイブを作成するには:

tar czvf myarchive.tar.gz file1 file2 directory1

ここで、zオプションはtargzipを使用して圧縮するように指示します。

tar と gzip アーカイブの抽出

アーカイブからファイルを抽出するには、xオプションを使用します。

単純な.tarアーカイブを抽出するには:

tar xvf myarchive.tar

.tar.gzアーカイブを単一のコマンドで解凍および抽出するには、zオプションを再度追加するだけです。

tar xzvf myarchive.tar.gz

抽出オプションを確認しましょう。

  • x: アーカイブからファイルをextract(抽出)します。
  • z: gzipを使用してアーカイブを解凍します。
  • v: verbose(詳細)モード。抽出時にファイルがリストされます。
  • f: 抽出するアーカイブファイルを指定するfile(ファイル)。

このための便利な覚え方は、「eXtract Zee Very Fast!」(非常に速く抽出!)です。

tarは非常に重要でありながら、しばしば忘れられるコマンドです。関連する xkcd: https://xkcd.com/1168

その他のユーティリティ

targzipは非常に一般的ですが、Linux の道のりでは他のアーカイブおよび圧縮形式に遭遇するでしょう。これらには、.bz2ファイルを作成しtarjフラグを使用するbzip2.xzファイルを作成しJフラグを使用するxz、そしておなじみのzip/unzipユーティリティが含まれます。それぞれに独自のコマンドセットと圧縮率がありますが、基本的な概念は同じままです。

ログインして学習進捗を保存

サインイン

演習

練習あるのみです!ファイルアーカイブと圧縮の理解を深めるための実践的なラボを次に示します。

  1. ファイルパッケージングと圧縮 - tar、gzip、zip などのツールを使用して、必須の Linux ファイル圧縮およびパッケージング技術を学びます。
  2. Linux で tar を使用してバックアップを作成および復元する - tar コマンドを使用してファイルシステムバックアップを作成および復元する実践的な経験を積みます。
  3. システムログのバックアップ - tar コマンドと日付書式設定を使用してシステムログファイルをバックアップするという必須スキルを学びます。

これらのラボは、アーカイブと圧縮の概念を実際のシナリオに適用し、Linux でのファイル管理に対する自信を構築するのに役立ちます。

クイズ

アーカイブを作成するために tar で使用されるフラグは何ですか?単一の小文字の英字で回答してください。