【ター】

tar とは?

💡 ファイルをひとまとめにする梱包のプロ、引っ越し屋さんの段ボール係
📌 このページのポイント
tar — ファイルをまとめて圧縮 個別ファイル app.js 50KB data.csv 200KB config 5KB img.png 100KB tar -cf まとめる .tar アーカイブ 355KB (圧縮なし) gzip 圧縮 .tar.gz 圧縮済み 120KB よく使うtarコマンド 作成 tar -czf a.tar.gz dir/ 展開 tar -xzf a.tar.gz
tarのイメージ
ひよこ ひよこ

tarって何をするコマンドなの?zipと同じようなもの?

ペンギン先生 ペンギン先生

tarは複数のファイルを「1つにまとめる」コマンドだよ。zipとの違いは、tar自体は圧縮機能を持っていないこと。まとめるだけなんだ。圧縮したいときはgzipやbzip2と組み合わせて使うよ。引っ越しで段ボールに詰めるのがtar、その段ボールを圧縮袋で小さくするのがgzipってイメージだね

ひよこ ひよこ

tar -xvf とか tar -czf とか、オプションが覚えられないよ...

ペンギン先生 ペンギン先生

よく使うのは3パターンだけだから大丈夫!`tar -czf archive.tar.gz dir/` で圧縮して作成、`tar -xzf archive.tar.gz` で展開、`tar -tzf archive.tar.gz` で中身を確認。cはCreate(作成)、xはExtract(展開)、tはList(一覧)、zはgzip、fはFile(ファイル名指定)だよ

ひよこ ひよこ

.tar.gz と .tar.bz2 と .tar.xz ってどう違うの?

ペンギン先生 ペンギン先生

圧縮アルゴリズムの違いだよ。gzip(.tar.gz)は速度重視、bzip2(.tar.bz2)は圧縮率がやや高い、xz(.tar.xz)は圧縮率が最も高いけど遅い。普段は.tar.gzで十分だけど、配布用で少しでもサイズを小さくしたいならxzがおすすめだね

ひよこ ひよこ

tarの有名な「ジョーク」があるって聞いたんだけど?

ペンギン先生 ペンギン先生

「tarのオプションを暗記している人間は存在しない」っていうジョークだね。実際、GNUのtarは長年オプションの書き方が独特で、ハイフンなしでも動いたりして混乱しがちだったんだ。今は `tar --create --gzip --file=archive.tar.gz dir/` みたいに長いオプション名も使えるから、覚えられなければ長い形式で書くのもアリだよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「tar」って出てきたら「ファイルを1つにまとめて圧縮するコマンド」と思えればだいたいOK!
📖 おまけ:英語の意味
「tape archive」 = テープアーカイブ
💬 元々は磁気テープにデータを書き出すためのコマンドだったんだよ。テープの時代は終わっても、ファイルをまとめる道具として今でも現役バリバリなんだ
← 用語集にもどる