Linux tar zxvf、コマンドの使い方、オプションの順番、「ー」の有無

はじめに

Linuxで複数のファイルをまとめて1つのアーカイブファイルするのに利用するtarコマンドについて紹介します。tarコマンドで作成されたファイルは、「.tar」という拡張子を付けることが多いです。

tarはやや特殊なコマンドなのでそのあたりを先に解説します。

まず、tar「.tar.gz」など圧縮ファイルの作成・解凍によく使われるコマンドです。

オプションの順序、「-」の有無

オプションの順序は、順不同です。(ただし、- を前置した場合は順序が影響するようです。ファイル名は f の直後に置かないといけない)

vは簡単なのでマニュアルを見てもらうとして、f は対象tarファイル名をコマンドラインで指定するということです。

「tar」の語源

tarコマンドはもともとTape ARchiveというためのコマンドなので、Unixのtarだとfを付けないと、tarファイルがテープデバイス上にあるとみなします。Linuxで使われるgnu-tarの場合は、標準入力を展開or標準出力にアーカイブさせます。

tarコマンドでgzip圧縮ファイルを作成する

$ tar zcvf 作成するファイル名 対象ディレクトリ・ファイル

オプションを「zcvf」を指定することでgzip方式の圧縮ファイルを作成することができます。

以下のコマンドは、sampleディレクトリを圧縮したsample.tar.gzファイルを作成する例です

$ tar zcvf sample.tar.gz sample/

オプションの意味

オプションは、それぞれ以下のような意味を持ちます。

  • 「z」gzip方式の圧縮または展開を行う
  • 「c」新しくアーカイブファイルを作成する
  • 「v」圧縮・展開するファイル名を表示する
  • 「f」アーカイブファイル名を指定する

圧縮せずにアーカイブファイルを作成するのみの場合は、オプションを「cvf」とします。

tarコマンドでgzip圧縮ファイルを展開する

$ tar zxvf 圧縮ファイル

gzip方式で圧縮されたファイルを展開するには、オプションに「zxvf」を指定します。ファイル作成の時のオプション「c」を、展開を意味する「x」に入れ替えたオプションです。

特定のファイルのみ展開

$ tar zxvf 圧縮ファイル 対象ファイル

圧縮ファイルの中の特定のファイルだけ展開するということもできます。

例えば、sampleディレクトリを圧縮したsample.tar.gz内のtextというファイルだけを展開したい場合は、以下のようなコマンドになります。

$ tar zxvf sample.tar.gz sample/text

ディレクトリを圧縮した場合は、sample/textのようにディレクトリ名も含めて指定する必要があります。

圧縮ファイルの中身のファイル一覧を表示する

$ tar tzf 圧縮ファイル

また、圧縮されたファイルを展開せずにファイルの一覧を表示するには、オプションに「tzf」を指定します。「t」オプションは、アーカイブファイルの中身を表示するオプションです。

特定のファイルのみを展開する前に、確認のために使うなどの用途があります。

さいごに

yumでは最新版のインストールしかできないと思います(自信なし)。別途apacheのサイトからダウンロードして、rpm コマンドでインストールしましょう。