Linux tar: tar.gzファイルをアーカイブ・圧縮・解凍・展開する

  • ---

    LINEで送る
  • -

    はてなブックマーク
    ブックマーク
  • -

    pocket
  • -

    rss
他言語サイト
翻訳はみつかりませんでした
programing image

tar.gzファイルの圧縮・解凍コマンドには、gzip, gunzipがあります。でもじつは、tarコマンドでも圧縮・解凍できます。

tarコマンドのこの使い方をぼくはしょっちゅう忘れます。もう15年以上も使っているのに。

ということでボケてきたロートル・エンジニアの備忘録です。

tarファイルの作成(アーカイブ)

まずは、tarファイルの作成から。tarファイルは圧縮ファイルではありません。『アーカイブファイル』です。

アーカイブは複数のファイルを1つのファイルにまとめることをいいます。

たとえば、ディレクトリとファイルで階層化されているファイル群をひとつのファイルにまとめるのに使います。ディレクトリやリンクもファイルの一種なのでぜんぶまとめることができます。

メールなどどこか別の場所へ転送するときに使います。そのコマンドがtarです。

ファイルのアーカイブコマンド

tar -cvf filename.tar target_dir_or_file

オプション

c新規のアーカイブファイルを作成する
vコマンド結果を標準出力する
fアーカイブファイル名を指定する

tarコマンドでアーカイブファイルを作ることを『圧縮』という人がいますが違います。『アーカイブ』です。

tarファイルの展開

次はアーカイブファイルを元のディレクトリ・ファイルに復元します。『展開』と言います。これを『解凍』という人がいますがこれも違います。

ファイルの展開コマンド

tar -xvf filename.tar

オプション

xファイルの展開をする
vコマンド結果を標準出力する
f展開するファイルを指定する

アーカイブと同時に圧縮まで行う

ここまではtarコマンドの『あたりまえ』の使い方でした。ここからは本題の『tarコマンドでのファイル圧縮』です。

tarコマンドは、アーカイブと同時に圧縮までやってしまうオプションがあります。

ファイル圧縮のオプション

tar -zcvf filename.tar target_dir_or_file
zアーカイブのあと圧縮する

アーカイブのオプションに『z』を追加するだけです。このオプションで作成されるファイルは『.tar.gz』です。zip圧縮の"z"です。

展開と解凍をまとめて行う

圧縮の次は解凍です。

ファイル解答のオプション

tar -zxvf filename.tar.gz

オプション

z解凍する

このオプションでは、まず圧縮されたファイルを解凍します。

(.tarファイルを作ります。)

そして解凍された.tarファイルを展開します。最終的に圧縮される前の状態にまで復元します。

まとめ

ファイルの圧縮形式をzipにするならtarコマンドで十分です。gzip, gunzipコマンドもありますがあまり使うことはありません。

ぼくが使い方を忘れてしまう原因は、このgzipコマンドにあります。両方コマンドを知っているため、使い方がごっちゃになるからです。

(gzipは解凍するオプションもあって、gunzipと同じことができることもややこしい)

またtarコマンドには、ほかにたくさんのオプションがありますが、『zcvf』『zxvf』以外に使うことはありません。

(よっぽど制約があって求められない限りは)

15年以上使っても、オプションで

アーカイブcvf
アーカイブ・圧縮zcvf
展開xvf
解凍・展開zxvf

以外使ったのは、両手指で足りる程度です。なのでこれ以外なくてもやっていけます。この4セットを指感覚で覚えておけばいいでしょう。

さいごに、アーカイブと圧縮、展開と解凍はごちゃまぜで使われることが多いですが、正確には違うことは覚えておきましょう。

(ベテランエンジニアでも使い分けしない人が多いです。)

アーカイブ複数のファイルをまとめるだけ
圧縮ファイルを指定された形式で圧縮する
展開アーカイブファイルから復元する
解凍圧縮されたファイルを復元する

とくに『展開』は解凍と同じ意味で通用します。1つの圧縮ファイルからファイル群(ディレクトリ階層)に復元されるようすが『展開する』からでしょう。

でも、展開はアーカイブファイルの復元でも使って意味も違います。アーカイブファイルはまとめるだけで圧縮しないので。

SNSでも記事を配信しています。
コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

top
この記事を気に入ったらぜひシェアも!!