【 tar 】コマンド――アーカイブファイルを作成する/展開するLinux基本コマンドTips(40)

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「tar」コマンドです。

» 2016年08月17日 05時00分 公開
[西村めぐみ@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、アーカイブファイルを作成/展開するための「tar」コマンドを解説します。

tarコマンドとは?

 「tar」は、複数のファイルを1つにまとめた“アーカイブファイル”を作成/展開するコマンドです。

アーカイブとは?

 「アーカイブ(archive)」は「書庫」という意味で、プログラムのソースコードなど、複数の関連するファイル群をまとめて保管したり、配布したりする際に使用します。

 細かいファイルが多数ある場合は、1つのファイルにまとめるだけでディスクスペースを節約できますが、さらにファイルを小さくしたい場合は「gzip」コマンドで圧縮するのが一般的です。現在、Linux環境で広く使われているtarコマンドの場合、標準でgzip形式による圧縮に対応しています。

 Windowsなどでも広く使われているZIP形式は、ファイルの圧縮と複数のファイルをまとめるアーカイブを同時に行いますが、tarコマンドは“アーカイブだけ行う”のが基本です。古くは「ar」というコマンドもありましたが、テープデバイスに対応したtarコマンドが誕生しました。


tarコマンドの書式

tar -czvf アーカイブ.tgz 対象ファイル

(ファイルのアーカイブを作成しgzip形式で圧縮する)

tar -xzvf アーカイブ.tgz

(gzipで圧縮されたアーカイブを展開する)

※tarコマンドが「-z」オプション(圧縮オプション)に対応していない場合は、「-z」を使用せず、別途「gzip」コマンドや「bzip2」コマンドを使用する(本連載第39回参照



tarコマンドの主なオプション

 tarコマンドの主なオプションは次の通りです。

●操作オプション
短いオプション 長いオプション 意味
-c --create 新しいアーカイブを作成する
-r --append アーカイブの最後にファイルを追加する
-A --catenate,
--concatenate
アーカイブにtarアーカイブを追加する
-u --update アーカイブのファイルを更新する(アーカイブ内の同名ファイルより新しいものだけを追加する)
-d --diff,
--compare
アーカイブとファイルシステムを比較する
--delete アーカイブから削除する
-t --list アーカイブの内容の一覧を表示する
-x --extract,--get アーカイブからファイルを抽出する

●共通オプション
短いオプション 長いオプション 意味
-f アーカイブ --file=アーカイブ アーカイブファイル名を指定する
-C ディレクトリ --directory=ディレクトリ カレントディレクトリを指定したディレクトリに変更してから実行する
--recursion ディレクトリを再帰的に処理する(デフォルト)
-h --dereference シンボリックリンクをたどる
--hard-dereference ハードリンクをたどる
-N 日付 --newer=日付,
--after-date=日付
指定した日付より新しいファイルだけを保存する(日付の代わりにファイルを指定することも可能。この場合、指定したファイルより新しいファイルだけが対象になる)
-P --absolute-names ファイル名から先頭の「/」を取り除かない
-p --preserve-permissions 所有者などのファイル属性を保持する(スーパーユーザーのデフォルト)
-k --keep-old-files 既存のファイルを置き換えない
--keep-newer-files アーカイブより新しい場合は既存ファイルを置き換えない
--overwrite 既存のファイルを上書きする
-U --unlink-first ファイルを上書きする前に削除する
--recursive-unlink ディレクトリを展開する際、いったん既存ディレクトリを空にする
--suffix=接尾辞 バックアップの接尾辞を指定する(環境変数「SIMPLE_BACKUP_SUFFIX」より優先する。どちらも指定されていない場合は「~」を使用する)
--remove-files アーカイブへ追加した後にファイルを削除する
-T ファイル --files-from=ファイル 対象とするファイル名を指定したファイルから読み込む
--unquote 「-T」で読み込んだファイル名の引用符を外す(デフォルト)
-X ファイル --exclude-from=ファイル 除外するファイル名をファイルから読み込む
-z --gzip アーカイブをgzip形式で圧縮する、gzip形式で圧縮されたアーカイブを展開する(拡張子は「.tar.gz」または「.tgz」)
-j --bzip2 アーカイブをbzip2形式で圧縮する、bzip2形式で圧縮されたアーカイブを展開する(拡張子は.tar.bz2)
-Z --compress,
--uncompress
アーカイブをcompress形式で圧縮する、compress形式で圧縮されたアーカイブを展開する(拡張子は「.tar.Z」)
-W --verify アーカイブを書き出した後に検証する
-v --verbose 処理したファイルを詳しく出力する


アーカイブファイルを作成する

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。