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

  • ---

    LINEで送る
  • -

    ブックマーク
  • -

    pocket
  • -

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

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

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

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

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

まずは、tarファイルの作成から。

tarファイルは圧縮ファイルではありません。『アーカイブファイル』です。アーカイブは複数のファイルをひとつのファイルにまとめることをいいます。

ディレクトリとファイルで階層化されているファイル群を、ひとつのファイルにまとめるのに使います。

ディレクトリやリンクもファイルの一種なのでぜんぶまとめることができます。

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

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

tar -cvf filename.tar target_dir_or_file

オプション

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

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

『アーカイブ』といいます。

アーカイブ(archive)はもともと、公記録の保存場所、履歴の意味です。

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セットを指感覚で覚えておけばいいでしょう。

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

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

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

とくに『展開』は解凍と同じ意味で使う人が多いです。

ひとつの圧縮ファイルからファイル群(ディレクトリ階層)に復元されるようすが『展開する』からでしょう。

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

細かいことをひとつひとつツッコむ人が多いのもIT業界ですが、ぼくは話の前後で意味を理解して、てきとうにスルーします。

細かいことをいちいち指摘してたら話が進みませんから。

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

*

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

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