概要
複数ファイルを一つのアーカイブへまとめる、一覧を見る、展開するという一連の操作を行います。圧縮は別機能と組み合わせる形で扱うことが多いです。
基本構文
tar -c[f] アーカイブ 対象...
tar -t[f] アーカイブ
tar -x[f] アーカイブ
tar -C 展開先 -x[f] アーカイブ詳細解説
tarは、複数のファイルやディレクトリを順番に束ねて一つのアーカイブとして扱うコマンドです。現在ではバックアップ、配布物、ログ退避、設定一式の保存など、幅広い用途で使われています。
重要なのは、tar自体は「まとめる」ことが本質であり、圧縮はgzipやbzip2、xzなどと組み合わせて使うことが多い点です。
実務では、作成、一覧表示、展開の三つを確実に使い分けることが第一歩です。展開前に内容を確認する、安全な展開先を選ぶといった運用まで含めて理解することが重要です。
このコマンドを使う場面
バックアップファイルをまとめる時、ログや成果物を一式で配布する時、ソースコードや設定一式を保存する時に使います。
まず安全に試す方法
1. mkdir src && touch src/a src/b
2. tar -cf demo.tar src
3. tar -tf demo.tar
4. mkdir out
5. tar -xf demo.tar -C out
6. find out
3分ミッション
少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。
-
小さなディレクトリをtarでまとめ、一覧を見てから別ディレクトリへ展開します。
-
tar -czfで圧縮付きアーカイブを作ります。
資格試験との関連
-
LinuC レベル1
範囲: 1.02.2 基本的なファイル管理の実行根拠: officialLinuCレベル1では、アーカイブ、展開、圧縮、転送を含む基本的なファイル操作が重視されます。
-
LPIC-1
範囲: 103.3 Perform basic file management根拠: officialLPIC-1では、圧縮、展開、アーカイブ、転送を含む基本的なファイル管理が扱われます。
-
共通基礎
範囲: Linuxコマンド基礎根拠: editorial試験横断で、tarはLinux運用の基礎体力を支える重要なコマンドです。
実行結果サンプル
-
mkdir src && touch src/a src/b tar -cf demo.tar src tar -tf demo.tarsrc/ src/a src/b -
mkdir out tar -xf demo.tar -C out find outout out/src out/src/a out/src/b
戻り値コード
- 0 正常終了。作成、一覧表示、展開に成功しました。
- >0 対象不存在、書き込み失敗、アーカイブ破損、権限不足などで処理できませんでした。
使用例
tar -cf archive.tar dirtar -tf archive.tartar -xf archive.tar -C restoretar -czf logs.tar.gz logs/
よくあるエラー
-
This does not look like a tar archiveと表示された 原因: 拡張子と実体が一致していない、圧縮形式が違う、またはファイルが壊れています。対処: fileやtar -tf、gzip -tなどで形式と整合性を確認します。
-
展開後に意図しない場所へファイルができた 原因: 現在位置やアーカイブ内パスを確認せずに展開しました。対処: 展開前にtar -tfで内容を見て、必要なら-Cで専用ディレクトリへ展開します。
導入・互換性情報
GNU tarとbsdtarでは細かなオプションや既定挙動が異なります。-fの位置や圧縮指定の扱いを理解しておくと移植性を保ちやすくなります。
注意点 / セキュリティリスク
危険度は中程度です。展開時に既存ファイルを上書きしたり、想定外のパス構造を作成したりする恐れがあります。まずtar -tfで内容を確認するのが安全です。
FAQ
-
Q. tarは圧縮コマンドですか。 A. 本質は複数ファイルをまとめるアーカイブ化です。圧縮はgzip、bzip2、xzなどと組み合わせることが多いです。
-
Q. tar.gzとtar.xzは何が違いますか。 A. まとめた後の圧縮方式が異なります。一般にxzは圧縮率が高い一方で処理負荷も高くなりやすいです。
関連用語
参照リンク
- カテゴリー: Archive And Transfer
- レベル: Basic
- 対応試験: LinuC, LinuC レベル1, LPIC, LPIC-1, 共通基礎