tar / zip コマンド生成(圧縮・展開・一覧)

作成/展開/一覧の操作とtar.gz/tar.bz2/tar.xz/zipなどの形式、対象パス、除外パターン、展開先、strip-componentsを選ぶだけでtarやzip/unzipのコマンドと中身を確認する一覧コマンドまで生成します。

生成コマンド

tar -czvf backup.tar.gz src/ README.md

展開後・作成後の確認コマンド

tar -tzvf backup.tar.gz

生成された条件の意味

    落とし穴: tar は c(作成)・x(展開)・t(一覧)のうち1つしか同時に指定できません。-zxvf のように短いオプションをまとめて書く場合、f は直後にファイル名を取るため必ず最後に置く必要があります(-fzxv のように途中に置くと、次の文字がファイル名として解釈されエラーになります)。zip はファイル名の文字コードを保存する仕様が実装によって異なり、Windows で作成した日本語ファイル名入り zip を Linux の unzip で開く、あるいはその逆を行うと文字化けすることがあります。

    使い方

    1. 操作(作成・展開・一覧)と形式(tar.gz / tar.bz2 / tar.xz / tar / zip)を選ぶ。
    2. アーカイブ名、対象パス、除外パターンを入力すると tar または zip/unzip のコマンドが自動生成される。
    3. 展開時は展開先ディレクトリや strip-components(tar限定)も指定できる。
    4. 併記される「確認コマンド」でアーカイブの中身を一覧表示して結果を確認できる。

    仕組み・計算式

    tar(1) の仕様では、動作モードを決める c(create)・x(extract)・t(list)は互いに排他的で1回につき1つしか指定できない。短いオプションをまとめる慣習(-czvf)では、f がアーカイブファイル名という引数を直後に取る唯一の文字のため必ず末尾に置く必要があり、途中に置くと次の文字列をファイル名と誤認識してエラーになる。圧縮形式は z(gzip)・j(bzip2)・J(xz) で指定し、無圧縮なら付けない。--exclude=パターン と --strip-components=N(先頭N階層を除去)は GNU tar の拡張オプション(tar(1))。zip は info-zip の zip(1)/unzip(1) の仕様上、格納ファイル名の文字コードが作成環境によって異なり、古い実装との組み合わせで日本語ファイル名が文字化けすることがある。

    現場の落とし穴:c/x/t を1コマンドに複数指定する間違いはエラーの典型例。-zxvf のように f を最後に置く慣習を崩すと直後の文字列がファイル名と誤認識される。作成・展開後は一覧コマンドで中身を確認する習慣をつけると事故を防ぎやすい。

    よくある質問

    Q. strip-components はどんなときに使いますか?

    A. アーカイブ内が project-v1.2.3/src/main.c のように余分な親ディレクトリを含む場合、その階層を除いて展開したいときに使う。--strip-components=1 で先頭の project-v1.2.3/ が取り除かれる。

    Q. tar.gz と zip はどちらを使うべきですか?

    A. Linux/macOS間ではUnixパーミッションやシンボリックリンクを扱いやすいtar系が一般的。Windows環境とやり取りするならOS標準で展開できるzipが扱いやすい。

    Q. 展開先ディレクトリ(-C)は事前に作成が必要ですか?

    A. tarの-Cは既存ディレクトリへの移動のみでディレクトリ自体は作成しない実装が一般的なため、事前にmkdirしておくのが安全。

    関連ツール

    最終更新・根拠の確認日: 2026-09-10 · カテゴリ: Linux・サーバー