tarファイルは、他の多くのファイルをコレクションの形式で保存するアーカイブです。 tarファイルには、所有権、タイムスタンプ、権限などのファイルの追加情報が格納されます。他の多くのファイルで構成されるtarファイルは、tarballとも呼ばれます。 Linuxでは、tarアーカイブファイルはtarコマンドを使用して作成されます。 tarアーカイブファイルの作成中に、tarコマンドはさまざまなアルゴリズムを使用してファイルを圧縮します。 gzipは、tarファイルを圧縮するための最も一般的で頻繁に使用されるアルゴリズムです。
したがって、tar.gzまたは.tgzで終わるファイルは、gzipアルゴリズムで圧縮されたtarファイルです。
tarコマンドは、さまざまなLinuxベースのディストリビューション(Ubuntu、Linux Mintなど)にプリインストールされています。
tarコマンドの構文
tarコマンドの構文は、tarコマンドを使用してtargzファイルを作成する方法を指定します。
$ tar [options] [file name]
tarコマンドでは、次のさまざまなオプションを使用できます。
オプション | 説明 |
-p | –pオプションは、権限、所有権、タイムスタンプなど、ファイルの追加の詳細を保存するために使用されます。 |
-c | –cオプションは、新しいtarファイルを作成します。 |
-z | -zオプションはgzip圧縮方法を設定します。 |
-f | –fオプションは、新しいファイルアーカイブを作成します。 |
-v | –vオプションは、圧縮ファイルの作成中の進行状況を表示します。 |
-x | –xオプションは、tar.gzファイルからファイルを抽出します。 |
Ubuntu20.04でtar.gzファイルを作成する
tarコマンドはUbuntu20.04にプリインストールされていますが、何らかの理由で以前にアンインストールしたことがある場合は、以下のコマンドを入力してインストールしてください。
$ sudo apt install tar

複数のファイルからtar.gzを作成する
次のコマンドを使用して、ファイルfile1.txt、file2.txt、file3.jsonから「data.tar.gz」という名前のtarファイルを作成しましょう。
$ tar -czf data.tar.gz file1.txt file2.txt file3.json

tar.gzファイルが正常に作成された後、コマンドは出力を表示しません。したがって、lsコマンドを実行して、新しく作成されたtar.gzファイルを確認します。
$ ls

lsコマンドの出力は、data.tar.gzファイルが正常に作成されたことを示しています。
別のディレクトリに新しいtar.gzファイルを作成する場合は、次のようにtarコマンドでディレクトリのフルパスを指定します。
$ tar -czf /home/kamran/Downloads/mydataarchive.tar.gz file1.txt file2.txt file3.json

上記のコマンドは、Ubuntu20.04のDownloadsディレクトリにmydataarchivetar.gzファイルを作成しました。
特定の拡張子で終わるすべてのファイルで構成されるtar.gzを作成できます。
たとえば、すべての「.txt」ファイルからtarファイルを作成しましょう。
$ tar -czf text.tar.gz *.txt

text.tar.gzファイルが正常に作成されました。
単一のディレクトリからtar.gzを作成する
tarコマンドを使用すると、ディレクトリ全体を圧縮してtarファイルを作成できます。また、指定されたディレクトリのサブディレクトリを圧縮します。 Downloadsディレクトリ(/ home / Kamran / Downloads)を圧縮して、次のようにtar.gzファイルを作成しましょう。
$ tar -czf compressed.downloads.tar.gz /home/kamran/Downloads

compressed.downloads.tar.gzファイルが正常に作成されました。
tar.gzファイルを抽出します
既存のtar.gzアーカイブファイルを抽出するには、tarコマンドで–xオプションを使用します。
以下は、既存のtar.gzファイルを抽出するためのtarコマンドの構文です。
tar[オプション][tar.gzアーカイブファイル名]
次のコマンドを入力して、tarファイルを抽出しましょう:
$ tar -xzf my.data.tar.gz

まとめ
tarは、アーカイブファイルを作成するために使用されるコマンドラインユーティリティです。また、圧縮アルゴリズムを使用してデータを圧縮します。最も一般的な圧縮アルゴリズムはgzipであり、gzipアルゴリズムで圧縮されたtarファイルの拡張子は.tar.gzです。 tar.gzファイルは、tarコマンドを使用して作成および抽出できます。