tar コマンドは、複数のファイルやディレクトリを 1つのアーカイブファイルにまとめたり、展開する ためのコマンドです。
実務では、バックアップ作成、ログのまとめ、ソースコード配布、圧縮との組み合わせで利用されます。
構文(Syntax)
tar [オプション] [ARCHIVE_FILE] [FILE...]
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
-c | 新しいアーカイブを作成 | tar -cf archive.tar files/ |
-x | アーカイブを展開 | tar -xf archive.tar |
-t | アーカイブの内容を一覧表示 | tar -tf archive.tar |
-f FILE | アーカイブファイル名を指定(必須に近い) | tar -cf backup.tar /home/user/ |
-v | 詳細を表示(処理中のファイルを表示) | tar -cvf archive.tar files/ |
-z | gzip 圧縮を利用 | tar -czf archive.tar.gz files/ |
-j | bzip2 圧縮を利用 | tar -cjf archive.tar.bz2 files/ |
-J | xz 圧縮を利用 | tar -cJf archive.tar.xz files/ |
--exclude=PATTERN | 除外するファイル・ディレクトリを指定 | tar -czf archive.tar.gz --exclude='*.log' files/ |
-C DIR | 処理前にディレクトリを移動 | tar -cf backup.tar -C /var log/ |
実行例
ディレクトリをアーカイブにまとめる
tar -cf backup.tar /home/user/
gzip で圧縮アーカイブを作成
tar -czf backup.tar.gz /var/log/
bzip2 で圧縮アーカイブを作成
tar -cjf backup.tar.bz2 project/
xz で高圧縮アーカイブを作成
tar -cJf backup.tar.xz project/
アーカイブを展開
tar -xf backup.tar
圧縮アーカイブ(.tar.gz)の展開
tar -xzf backup.tar.gz
アーカイブの内容を確認
tar -tf backup.tar
出力例:
home/user/file1.txt
home/user/file2.txt
除外ルールを指定して作成
tar -czf logs.tar.gz --exclude='*.old' /var/log/
エラー例(-f を忘れる)
tar -cz backup.tar.gz /var/log/
出力例:
tar: Cowardly refusing to create an empty archive
Try 'tar --help' or 'tar --usage' for more information.
関連コマンド
gzip: 単体ファイルの圧縮/展開bzip2: 高圧縮率の圧縮/展開xz: さらに高圧縮率の圧縮/展開zip/unzip: Windows互換のZIP形式を扱う
備考
tar自体は「アーカイブ作成・展開」コマンドであり、圧縮はオプション(-z,-j,-J)で付与されます。- 圧縮形式はファイル拡張子(
.tar.gz,.tar.bz2,.tar.xz)で見分けるのが一般的。 - 巨大ファイルの圧縮・展開には時間とCPU負荷がかかるため注意が必要。
参考
- manページ: man7.org tar(1)
- GNU tar: https://www.gnu.org/software/tar/

コメント