Linux で .gz および .tgz ファイルを開く方法

ファイルの解凍は、特に Linux 環境では日常的な作業です。.gz ファイルや .tgz ファイルを頻繁に使用する場合は、これらのファイル タイプのニュアンスと、それらの管理に使用するツールを理解することが重要です。このガイドでは、GZ ファイルと TGZ ファイルの世界を詳しく調べ、それらを効率的に処理するための洞察と手順を説明します。

Linux でのファイル圧縮について

ファイル圧縮は、ストレージを最適化し、効率的なデータ転送を確保する上で極めて重要です。Linux では、それぞれ独自の特性を持つさまざまなツールとファイル形式を使用してこれを実現します。

TAR、GZ、TGZ ファイルのユニークな点は何ですか?

  • TAR ファイルの説明
    • TAR は Tape Archive の略です。その主な機能は、複数のファイルを TAR ファイルと呼ばれる単一のエンティティにまとめることです。興味深いことに、TAR はこれらのファイルを圧縮せず、単にグループ化して、元のサイズが変更されないようにします。
  • GZ ファイルの理解
    • GZ ファイルは、Gzip 圧縮ツールから生成されます。TAR とは異なり、Gzip はファイルを圧縮してサイズを縮小します。ただし、Gzip は個々のファイルを圧縮することに注意してください。したがって、複数のファイルがある場合、Gzip はそれと同数の GZ ファイルを生成します。この圧縮方法は、Linux および Unix システムでよく使用されます。
  • 融合: TAR.GZ ファイル
    • TAR.GZ ファイルは、基本的に Gzip を使用して圧縮された TAR ファイルです。これは、TAR のグループ化機能と Gzip の圧縮機能を組み合わせたハイブリッドです。このファイル タイプは、主に Linux および Unix システムで使用されます。
  • TGZ: TAR.GZ の同義語
    • TAR.GZ ファイルは、しばしば TGZ ファイルと呼ばれます。これらは基本的に同じですが、便宜上名前が異なっています。
  • ZIP ファイル: 概要
    • ZIP ファイルは、TAR と同様に、複数のファイルをまとめたものです。ただし、GZ と同様に、これらのファイルも圧縮します。ZIP ファイルはさまざまなオペレーティング システムで広く使用されていますが、最も一般的には Windows に関連付けられています。

Tarball または Tarfile: 名前には何が含まれていますか?

tarball または tarfile という用語は、特定の TAR 形式のアーカイブ ファイルを表すために口語的に使用されます。

  • TARファイル: 基本的にはテープ アーカイブ ファイルです。
  • TAR.GZ または TGZ ファイル: TAR ファイルが Gzip 圧縮されるときです。
  • TAR.BZ2 または TBZ ファイル: この形式は、TAR ファイルに Bzip2 圧縮が適用されたときに現れます。

tarball は、基本的に、まとめられたファイルのコレクションです。tar コマンドは、これらのファイルを生成します。tar は、本来は圧縮をサポートしていませんが、ディスク領域を節約するために、Gzip や Bzip2 などの圧縮ツールと連携することがよくあります。これらのユーティリティは通常、単一のファイルを圧縮するため、tar と連携して、複数のファイルから単一のファイルを生成します。

Linux の GZ および TGZ ファイル用の Tar および Gzip/Gunzip

取る そして ジップ Linux エコシステムの主力製品であり、ファイルのアーカイブと圧縮機能で有名です。これらは連携して動作することが多いですが、それぞれ異なる目的を果たします。

  • Tar ユーティリティの役割
    • 取る 複数のファイルを単一のアーカイブにまとめたもので、多くの場合はtarballと呼ばれます。このアーカイブは、カプセル化されたファイルのファイルシステム属性(権限や所有権など)を保持します。作成後も、圧縮されていない限り、ユーザーはアーカイブを変更してファイルを追加または削除したり、ファイル名を調整したりできます。 tar コマンドは、Linux で TAR ファイルと TAR.GZ ファイルを管理し、それらの作成、変更、および抽出を容易にするためのものです。
    • 歴史的には、tarball がバックアップ メディアとして好まれ、ローカル テープ ドライブに転送されたため、テープ アーカイブ (Tar) と呼ばれていました。Tar はファイルを圧縮しませんが、最近の使用法では、ディスク領域を節約し、システム間の転送を容易にするために、必ず圧縮が行われます。
    • Tar は多用途で、さまざまな圧縮方法をサポートしています。Gzip/Gunzip および Bzip2/Bunzip2 ユーティリティが優位に立っており、Tar-Gzip アライアンスは Linux 向けの最高のファイル アーカイブ ソリューションとして登場しています。
  • Linux における Gzip
    • ジップ は Linux の最高のファイル圧縮ユーティリティです。独立して機能し、個々のファイルを圧縮できます。Gzip がファイルを圧縮すると、新しい圧縮バージョンが生成され、元のファイルは破棄されます。結果として得られる圧縮ファイルには GZ 拡張子が付きません。したがって、Gzip が Tar と連携すると、圧縮アーカイブの拡張子は TAR.GZ または TGZ になります。
    • Gzip と ZipGzip は有名な Windows ユーティリティ Zip と同じ圧縮アルゴリズムを採用していますが、基本的な違いがあります。Gzip は個々のファイルを圧縮します。したがって、最初に Tar を呼び出して tarball を作成し、それを Gzip で圧縮します。逆に、Zip は各ファイルをアーカイブする前に圧縮するため、アーカイブのサイズがわずかに大きくなります。この圧縮方法では、最初に tarball 全体を解凍せずに個々のファイルを抽出することが複雑になります。

Linux での GZ および TGZ ファイルの作成と解凍

Tar コマンドと Gzip/Gunzip コマンドを使用すると、システム管理者は GZ ファイルと TGZ ファイルを簡単に作成および解凍できます。Linux のユーティリティと同様に、これらのユーティリティには、機能を強化してカスタマイズした使用を可能にするさまざまなフラグが含まれています。Gzip/Gunzip と Tar はほとんどの Linux ディストリビューションに不可欠なので、必要なのは SSH アクセスと基本的な Linux コマンドラインの知識だけです。

.gz ファイルの管理に Gzip と Gunzip を活用する

Gzip コマンドと Gunzip コマンドは Linux で GZ ファイルを解凍できますが、圧縮された Tar アーカイブの場合はうまく動作しません。たとえば、TAR.GZ ファイルは Gzip で圧縮された TAR アーカイブであるにもかかわらず、解凍とファイル抽出には Tar コマンドが必要です。

Gzip によるファイルの圧縮

Gzip は個々のファイルの圧縮を容易にし、元のファイルの権限と所有権を保持しながら、新しい GZ 拡張バリアントを生成します。デフォルトでは、元のファイルは圧縮後に破棄されます。ただし、この動作は変更可能です。

現在のディレクトリにある 3 つのファイルを Gzip を使用して圧縮する方法を見てみましょう。

# Compress multiple files with GZIP
gzip -kv example1 example2 example3

ここで、-k フラグは元のファイルがそのまま残るようにし、-v オプションはリアルタイムの圧縮率とファイル名を表示します。このコマンドはディレクトリに 3 つの新しい GZ ファイルを生成します。-k フラグが適用できないシナリオでは、-c オプションを呼び出して元のファイルを保存できます。

-c フラグを使用すると、新しく圧縮されたファイルのディレクトリを変更したり、名前を変更したりすることもできます。

# Compress a file without deletion and relocate it to a different directory
gzip -c example1 > /home/temp/compressed_example1.gz

解凍せずにGZファイルを検査する

Linux の zcat コマンドを使用すると、圧縮ファイルを解凍せずにその内容を確認することができます。

# Display the contents of a GZIP compressed file
zcat compressed_example1.gz

GZ ファイルの解凍

Linux では、Gzip/Gunzip コマンドに -d フラグを追加することで GZ ファイルを解凍できます。これまでに説明したすべてのフラグは適用可能です。デフォルトでは、-k フラグが呼び出されない限り、GZ ファイルは解凍後に破棄されます。以前同じディレクトリに圧縮した GZ ファイルを解凍してみましょう。

# Decompress GZ file
gzip -dv compressed_example1.gz

このコンテキストでは、次のコマンドは同義です。

gunzip コマンドの使用:

# Decompress GZ file
gunzip example.gz

gzip -d コマンドを使用する:

# Decompress GZ file
gzip -d example.gz

TGZ ファイル管理に Tar を使用する

tar コマンドは、Linux で TGZ ファイルを管理する上で極めて重要です。ユーザーはアーカイブ全体を解凍したり、特定のファイルやディレクトリを厳選したりできます。

tar.gz アーカイブを作成する

Gzip 圧縮された Tar アーカイブを作成する前に、含めるファイルを特定し、グループ化戦略を決定します。手動でファイルを選択するか、サブディレクトリを含むディレクトリ全体をアーカイブすることができます。個々のファイルを操作する Gzip とは異なり、Gzip 圧縮された Tar アーカイブを作成しても元のファイルは削除されません。

# Construct a TGZ archive of a directory and relocate it to a different folder
tar -czvf archive.tar.gz directory_name -C /home/temp

このコマンドでは、

  • c アーカイブの作成を開始します。
  • z Gzip 圧縮をトリガーします。
  • v 詳細モードを有効にして、詳細なコマンド実行出力を提供します。
  • f 新しいアーカイブのファイル名を指定します。
  • C 代替ターゲットディレクトリを指定します。

アーカイブ内容の検査

-t フラグを使用すると、既存の TGZ アーカイブ ファイルの内容を簡単に調べることができます。さらに、ユーザーはパイプを使用して、特に大規模なアーカイブ内の特定のファイルを特定できます。

# Enumerate the contents of a TGZ archive
tar -tvf archive.tar.gz

tar.gz ファイルの解凍

Gzip 圧縮された Tar アーカイブは、tar コマンドの -x (抽出) フラグを使用して解凍できます。デフォルトでは、Tar は TGZ ファイルの内容を抽出し、現在の作業ディレクトリに送信します。ただし、ユーザーは抽出用に別のディレクトリを指定できます。

# Decompress Tar Gz file and relocate uncompressed files to a different directory
tar -xzvf archive.tar.gz -C /home/temp

多くの場合、ユーザーはTGZアーカイブから特定のファイルやフォルダを抽出する必要があります。 tar コマンドはこれを容易にします:

# Validate the desired file's presence in the archive
tar -tvf archive.tar.gz | grep desired_file

ファイルはアーカイブされたディレクトリに存在するため、ディレクトリ全体を復元せずに直接抽出することは困難です。 strip-components オプションはこのハードルを回避し、ユーザーが親フォルダなしで目的のファイルまたはディレクトリを抽出できるようにします。ユーザーは、抽出するファイルまたはディレクトリのフル パスを指定する必要があります。

# Extract a specific file from the Tar Gz archive
tar -xzvf archive.tar.gz path/to/desired_file --strip-components=2

結論

GZ ファイルと TGZ ファイルの管理は、Linux ユーザーにとって不可欠なスキルです。これらのファイル形式は、Linux エコシステムにおけるデータ圧縮とアーカイブ化に不可欠です。Gzip コマンドと Tar コマンドを習得することで、ユーザーはデータを効率的に管理、圧縮、解凍し、最適なストレージとデータ転送を確保できます。熟練した Linux ユーザーでも初心者でも、これらのコマンドとそのニュアンスを理解することで、タスクを大幅に効率化し、Linux エクスペリエンスを向上させることができます。

Joshua James

コメントを残す