tar は複数のファイルを1つに固めて圧縮するコマンドです。`-czf` で作る、`-tzf` で中身を見る、`-xzf` で取り出すという3つの形と、オプションの覚え方を、ブラウザ上のターミナルで打ちながら確認できます。
最終更新: 2026-09-06
tar [オプション] アーカイブ名 [ファイル...]
複数のファイルやディレクトリを、1つのファイルにまとめます。
src と logs を1つに固めます。
$ tar -czf backup.tar.gz src logs
成功すると何も出ません。 できたファイルを見てみます。
$ ls -lh backup.tar.gz
-rw-r--r-- 1 user user 1.4K Sep 6 00:52 backup.tar.gz
オプションはそれぞれ1文字ずつに意味があります。
| 文字 | 意味 |
|---|---|
c | create(新しく作る) |
z | gzip で圧縮する |
f | この後にファイル名を書く |
c を t に変えると、取り出さずに中身の一覧だけが出ます。
$ tar -tzf backup.tar.gz
src/
src/index.js
src/utils.js
logs/
logs/app.log
logs/error.log
src/ や logs/ のように、ディレクトリごと入っていることが分かります。
取り出す前に必ずこれを見てください。
中身がディレクトリで包まれていないアーカイブを展開すると、いまいる場所にファイルが直接ばらまかれます。
c を x に変えると取り出せます。
src を消してしまった、という状況で試します。
$ rm -r src
$ ls
backup.tar.gz logs/ README.md restore/
$ tar -xzf backup.tar.gz
$ ls src
index.js utils.js
戻りました。 取り出す場所はいまいるディレクトリです。
-C で展開先を変えられます。
$ tar -xzf backup.tar.gz -C restore
$ ls restore
logs/ src/
いまの作業を上書きせずに中身を確かめたいときは、この形が安全です。
v(verbose)を足すと、処理したファイルが1行ずつ出ます。
$ tar -czvf logs.tar.gz logs
logs/
logs/app.log
logs/error.log
tar は、ディレクトリごと運ぶ・残すときに打つコマンドです。
| 場面 | 打ち方 |
|---|---|
| ログをまとめて保存する | tar -czf logs-2026-09.tar.gz logs |
| 配布されたファイルを取り出す | tar -xzf package.tar.gz |
| 取り出す前に中身を確かめる | tar -tzf package.tar.gz |
| 作業を汚さずに展開する | tar -xzf package.tar.gz -C /tmp/check |
| 不要なものを入れずに固める | tar -czf src.tar.gz --exclude=node_modules . |
サーバーへ送る前に固める、受け取ったものを取り出す、この2つがほとんどです。
f の直後がファイル名です。
tar -cfz backup.tar.gz src のように順番を崩すと、z がファイル名として読まれます。
-czf -xzf -tzf の3つを、形のまま覚えてしまうのが確実です。
元のファイルは消えません。
tar は固めたものを新しく作るだけで、材料はそのまま残ります。
gzip が元ファイルを置き換えるのとは違います。
対象が無いと止まります。
$ tar -czf docs.tar.gz nope
tar: nope: Cannot stat: No such file or directory
アーカイブが無いときも同じように言われます。
$ tar -tzf nothing.tar.gz
tar: nothing.tar.gz: Cannot open: No such file or directorywebterm.appこのサイト
ターミナル応用
特定場面で役立つコマンドを学ぶ
learn.webterm.app別のサイト
