Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all
名前
tar - アーカイブユーティリティ
書式
伝統的な使用法 tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG...] UNIX スタイルの使用法 tar -A [OPTIONS] ARCHIVE ARCHIVE tar -c [-f ARCHIVE] [OPTIONS] [FILE...] tar -d [-f ARCHIVE] [OPTIONS] [FILE...] tar -t [-f ARCHIVE] [OPTIONS] [MEMBER...] tar -r [-f ARCHIVE] [OPTIONS] [FILE...] tar -u [-f ARCHIVE] [OPTIONS] [FILE...] tar -x [-f ARCHIVE] [OPTIONS] [MEMBER...] GNU スタイルの使用法 tar {--catenate|--concatenate} [OPTIONS] ARCHIVE ARCHIVE tar --create [--file ARCHIVE] [OPTIONS] [FILE...] tar {--diff|--compare} [--file ARCHIVE] [OPTIONS] [FILE...] tar --delete [--file ARCHIVE] [OPTIONS] [MEMBER...] tar --append [-f ARCHIVE] [OPTIONS] [FILE...] tar --list [-f ARCHIVE] [OPTIONS] [MEMBER...] tar --test-label [--file ARCHIVE] [OPTIONS] [LABEL...] tar --update [--file ARCHIVE] [OPTIONS] [FILE...] tar --update [-f ARCHIVE] [OPTIONS] [FILE...] tar {--extract|--get} [-f ARCHIVE] [OPTIONS] [MEMBER...]
注記
この マニュアルページは GNU tar の簡単な説明です。 使用例や推奨される使い方を含む詳しい議 論については、texinfo 形式の GNU Tar Manual を見てください。info リーダーと tar 関連文書が 御使用のシステムに正しくインストールされているなら、コマンド info tar で詳細なマニュアルが読めるはずです。 詳細なマニュアルは、 emacs(1) の info モードでも閲覧することができます。 また、下記のサイ トに行けば、様々な形式にした詳細マニュアルのオンライン版を見つけることができます。 http://www.gnu.org/software/tar/manual この マニュアルページと GNU Tar Manual の内容に食い違いがある場合は、後者の方が信頼できる 情報源です。
説明
GNU tar は、アーカイブプログラムです。 アーカイブプログラムとは、複数のファイルを 1 個の ファイル (アーカイブ) に格納したり、そうしたアーカイブを操作したりするためのプログラムで す。 アーカイブは、通常ファイルであってもよく、デバイスでもかまいません (後者の一例がテー プドライブであり、このプログラムの名前は、そこから来ています。 すなわち、tape archiver と いうことです)。 そうしたファイルやデバイスは、ローカルマシンにあってもよく、リモートマシン にあってもかまいません。 オプション形式 GNU tar のオプションは、3 つの異なる形式で指定できます。伝統的なスタイル では、最初の引数 は、オプション文字の集まりであり、それに続くすべての引数は、 そうしたオプションが引数を要 求する場合に、その引数になります。 なお、そうした引数は、オプション文字と同じ順番で読み込 まれます。 すべてのオプションの処理が終わった後で、コマンドラインに残っている単語があれ ば、 それは、オプションとは関係のない引数として扱われます。 すなわち、ファイルやアーカイブ メンバーの名前です。 たとえば、c オプションは、アーカイブの作成を指示し、v オプションは、 やっていることを表示 するように要求し、f オプションは、 操作対象のアーカイブ名を引数に取ります。 伝統的なスタイ ルで書かれた次のコマンドは、ディレクトリ /etc のすべてのファイルをアーカイブファイル etc.tar に格納し、どんなファイルをアーカイブに入れたか、詳しいリストを表示するように tar に指示しています。 tar cfv etc.tar /etc UNIX スタイル、すなわち短いオプション形式では、 他のコマンドラインユーティリティと同様 に、各オプション文字には、 1 個のダッシュがその前に付きます。オプションが引数を取る場合 は、引数はその後に続きます。 引数は、コマンドライン上の独立した単語としてオプションとの間 にスペースを置いて指定してもよく、 スペースを挟まずオプションに直接続けてもかまいませ ん。ただし、オプションの引数が任意である (訳注: あることも、ないこともある) 場合は、その引 数は -g/tmp/snar.db のように、オプション文字の後にスペースなしで続けなければなりません。 引数をとらないオプションは、1 個のダッシュの後に何個でもまとめて指定できます。 たとえ ば、-vkp のようにです。引数を (必須であれ任意であれ) 取るオプションがあったら、ひとつにま とめたオプションの最後に置きます。 -vkpf a.tar がその一例です。 上で例示したコマンドは、 短いオプション形式で書けば、以下のようになります。 tar -cvf etc.tar /etc または tar -c -v -f etc.tar /etc GNU スタイル、すなわち長いオプション形式では、 各オプションは、2 個のダッシュに続く意味を 持った名前であり、 小文字とダッシュから構成されています。使用に当たって、長いオプション は、 曖昧さを生じないかぎり、最初の数文字に短縮できます。長いオプションに対する引数は、 そ のオプションの直後にコマンドライン上の独立した単語として (訳注: すなわち、間にスペースを置 いて) 指定するか、あるいは、オプションとの間を等号 (=) で区切り、等号の前後にはスペースを 入れずに指定します。 指定するかしないかが任意の引数では、必ず後者の書式を使わなければなり ません。 上記のコマンド例をこの形式で書くには、次のようないくつかの方法があります。 tar --create --file etc.tar --verbose /etc または (オプションをいくつか短縮して)、 tar --cre --file=etc.tar --verb /etc オプションは、3 種の形式すべてを混ぜて使うことができますが、 伝統的なオプションを混ぜて使 うのはお勧めできません。 操作モード 以下に列挙したオプションは、GNU tar にかくかくしかじかの操作をせよと指定するものです。 指 定するのは、この内のただ 1 つでなければなりません。 オプションの引数ではない引数がどんな意 味になるかは、要求した操作モード次第です。 -A, --catenate, --concatenate アーカイブを別のアーカイブの末尾に追加します。 引数は追加するアーカイブの名前と見な されます。すべての追加するアーカイブは、 追加される側のアーカイブ (訳注: これは -f オプションの引数で指定します) と同じ形式でなければなりません。そうでないと、作成さ れたアーカイブが、GNU 以外の tar の実装で使えなくなる可能性があります。 なお、注意 すべき点として、2 個以上のアーカイブを引数として指定した場合に、1 番目のアーカイブ 以外のアーカイブのメンバーが、作成されたアーカイブでアクセスできるのは、 -i (--ignore-zeros) オプションを使用した場合だけです。 圧縮したアーカイブの結合はできません。 -c, --create 新しいアーカイブを作成します。 引数はアーカイブに入れるファイルの名前です (訳注: 作 成するアーカイブファイルの名前は、-f オプションの引数で指定します)。 --no-recursion オプションが指定されないかぎり、ディレクトリは再帰的にアーカイブされます。 -d, --diff, --compare アーカイブとファイルシステムの間に相違があるかどうかを調べます。 引数は任意だが、指 定するなら、比較したいアーカイブのメンバーです。 指定しない場合は、カレントワーキン グディレクトリを指定したものと見なされます。 (訳注: info マニュアルの説明は少し違 い、「メンバーを 1 つも指定しない場合、 tar は全アーカイブを比較する」となっていま す。) --delete アーカイブから削除します。引数はアーカイブから削除するメンバーの名前です。少なくと も 1 つは引数を指定しなければなりません。 このオプションは圧縮したアーカイブには使えません。 これと等価な短いオプションはあり ません。 -r, --append アーカイブの最後にファイルを追加します。引数の意味は、-c (--create) と同じです。 -t, --list アーカイブの内容一覧を表示します。引数は任意です。 引数が指定された場合は、表示すべ きメンバーの名前となります。 --test-label アーカイブのボリュームラベルをテストして終了します。 引数を指定せずに使用すると、ボ リュームラベルを (もしあれば) 表示し、ステータス 0 で終了します。1 つ以上のコマンド ライン引数を指定すると、tar はボリュームラベルを各引数と比較します。引数にマッチす るラベルがあった場合は、コード 0 で終了し、なかった場合は、 コード 1 で終了しま す。その際、-v (--verbose) オプションが一緒に指定されないかぎり、出力には何も表示さ れません。 これと等価な短いオプションはありません。 -u, --update アーカイブ内の同名のコピーより新しいファイルだけを追加します。 引数の意味は、-c や -r オプションと同じです。 気を付けてほしいのですが、新しいファイルが、古いアーカイ ブコピーに置き換わるわけではありません。 そうではなくて、アーカイブの末尾に追加され るのです。 従って、作成されたアーカイブには、 同じファイルの様々なバージョンに当た る、同じ名前の複数のメンバーが含まれることがあります。 -x, --extract, --get アーカイブからファイルを抽出します。引数は任意です。 引数が指定された場合、抽出する アーカイブメンバーの名前となります。 --show-defaults tar のいくつかのオプションについて組み込みのデフォルトを表示して、終了します。 引数 は指定できません。 -?, --help 簡単なオプションのサマリーを表示して、終了します。 引数は指定できません。 --usage 指定可能なオプションのリストを表示して、終了します。 引数は指定できません。 --version プログラムのバージョンと著作権情報を表示して終了します。
オプション
操作の調節 --check-device インクリメンタルアーカイブを作成する際に、デバイス番号をチェックします (デフォル ト)。 -g, --listed-incremental=FILE 新 GNU 形式のインクリメンタルバックアップを取り扱います。 FILE はスナップショット ファイルの名前です (訳注: このオプションの引数 FILE の指定は必須です)。tar はそこに 補助情報を記録しておき、その情報を使って、前回のインクリメンタルダンプの後で、 どの ファイルが変更され、従って、再度ダンプしなければならないかを判断します。 アーカイブ の作成時に FILE が存在しない場合は、FILE が作られ、すべてのファイルが作成されるアー カイブに格納されることになります (これが level 0 のダンプである)。N が 0 ではない level N のインクリメンタルアーカイブを作成するには、level N-1 のアーカイブを作成し たときに出来たスナップショットファイルのコピーを作って、それを FILE として使用しま す。 アーカイブの内容表示やメンバーの抽出の際には、FILE の中身が実際に調べられるわけでは ありません。tar の文法上 --listed-incremental は引数を取ることになっているの で、FILE の指定が必要なだけなのです。それ故、FILE として /dev/null を使うのは、常套 手段です。 --hole-detection=METHOD スパースファイル (sparse file) の穴 (hole) の検出に METHOD を使います。このオプショ ンは、--sparse を暗黙裡に設定します。METHOD に指定できる値は、seek と raw です。デ フォルトは seek であり、使用できない場合は raw を使います。 -G, --incremental 旧 GNU 形式のインクリメンタルバックアップを取り扱います。 --ignore-failed-read 読み込み不能なファイルがあっても、ゼロ以外の返り値で終了しません。 --level=NUMBER 作成するリスト化インクリメンタルアーカイブ (訳注: すなわち、新 GNU 形式のインクリメ ンタルアーカイブ) のダンプレベルを設定します。 現在のところ、--level=0 のみが意味を 持ちます。 これを指定すると、tar はダンプする前にスナップショットファイルをサイズ 0 に短縮し、 強制的にレベル 0 のダンプにします。 -n, --seek アーカイブがシーク (seek) 可能であると見なします。通常、tar は、 アーカイブがシーク 可能であるか否かを自動的に判断します。 このオプションは、そうした判断がうまく行かな い場合に使うためのものです。 このオプションは、アーカイブを読み込むためにオープンし ている場合にのみ効果があります (たとえば、 --list または --extract オプションが指定 されている場合)。 --no-check-device インクリメンタルアーカイブを作成する際に、デバイス番号をチェックしません。 --no-seek アーカイブがシーク可能でないと見なします。 --occurrence[=N] アーカイブ中の各ファイルについて、N 番目に現れるものだけを処理の対象にします。 この オプションは、サブコマンド --delete, --diff, --extract, --list の 1 つとともに使用 し、 しかも、ファイルのリストを、コマンドライン上、または -T オプションで指定してい る場合にのみ、有効です。オプション引き数 N の指定は任意ですが、デフォルトでは 1 に なっています。(訳注: -r や -u オプションを使った場合、アーカイブ中に同名のメンバー が複数存在することがります。 そうした場合に、何番目のメンバーを抽出などの対象にする かを指名するのです。) --restrict 有害かもしれないいくつかのオプションを無効化します。 --sparse-version=MAJOR[.MINOR] スパースファイルで使用するスパースフォーマットのバージョンを指定します。 このオプ ションは --sparse を暗黙裡に設定します。 引数に指定できる値は、 0.0, 0.1, 1.0 のい ずれかです。 スパースフォーマットについての詳しい議論については、 GNU Tar Manual, appendix D, "Sparse Formats" を見てください。info リーダーを使用する場合は、コマン ド info tar 'Sparse Formats' で読むことができます。 -S, --sparse スパースファイルを効率的に取り扱います。ファイルシステム上のファイルの中には、 実際 の書き込みが一度も行われていないセグメントを含むものがあります (そうしたものが DBM のようなシステムで作られたデータベースファイルだったりするのは、よくあることです)。 このオプションを指定すると、tar は、ファイルをアーカイブに入れる前に、 それがスパー スファイルかどうかを判断しようとします。 そして、もしそうなら、ファイル中の空っぽの 部分をダンプしないことによって、 生成するアーカイブのサイズを小さくします。 上書きの制御 以下のオプションは、アーカイブからファイルを抽出することによって、 ディスク上にある同名 ファイルの上書きが生じる場合の tar の挙動を制御します。 -k, --keep-old-files 抽出時に、既存のファイルを置き換えません。 --keep-newer-files 既存のファイルがアーカイブコピーより新しい場合、それを置き換えません。 --keep-directory-symlink 抽出する際に、ディレクトリを指す同名のシンボリックリンクがすでに存在している場合 は、 それをアーカイブ中の実ディレクトリで置き換えません。(訳注: その場合は、そのシ ンボリックの参照先にアーカイブ中のディレクトリの中身を展開します。 このオプションを 指定しないデフォルトでは、まずシンボリックリンクを消去し、 それからディレクトリの抽 出を行うことになります。) --no-overwrite-dir 既存のディレクトリのメタデータを変更しません。 --one-top-level[=DIR] すべてのファイルを DIR に抽出します。引数なしで使用すると、 アーカイブのベースネー ムにちなんだ名前のサブディレクトリに抽出することになります (詳しく言うと、アーカイ ブのベースネームから --auto-compress で認識される標準的な圧縮ファイルの拡張子を取り 去ったもの)。 --overwrite 抽出時に、既存ファイルを上書きします。 --overwrite-dir 抽出時に、既存ディレクトリのメタデータを上書きします (デフォルト)。 --recursive-unlink ディレクトリを抽出する前に、同名のディレクトリにあるすべてのファイルを再帰的に削除 します。 --remove-files ファイルをアーカイブに追加した後で、ディスクからファイルを削除します。 --skip-old-files 抽出時に、既存のファイルを上書きせず、何のメッセージも出さずにスキップします (訳注: なお、--keep-old-files と違い、こちらは返り値がエラーになりません)。 -U, --unlink-first 抽出する際に、上書きするファイルをまず削除します。 -W, --verify アーカイブを書き込んだ後で照合します。 出力ストリームに関する選択 --ignore-command-error サブプロセスの終了コードを無視します。 --no-ignore-command-error 子プロセスの 0 以外の終了コードをエラーとして扱います (デフォルト)。 -O, --to-stdout ファイルを標準出力に抽出します。 --to-command=COMMAND 抽出したファイルをパイプで COMMAND に渡します。 このオプションの引数は、外部プログ ラムのパス名であり、 コマンドライン引数を付けて指定することもできます。外部プログラ ムが起動されると、 抽出されたファイルの内容が、そのプログラムの標準入力に渡されま す。また、 追加的なデータが、以下の環境変数を通して外部プログラムに渡されることにな ります。 TAR_FILETYPE ファイルのタイプ。1 文字からなり、以下の意味があります。 f 通常ファイル d ディレクトリ l シンボリックリンク h ハードリンク b ブロックデバイス c キャラクタデバイス 現在のところサポートされているのは、通常ファイルだけです。 TAR_MODE ファイルの許可属性。8 進数。 TAR_FILENAME ファイル名。 TAR_REALNAME アーカイブに格納されているファイル名。 TAR_UNAME ファイルの所有者名。 TAR_GNAME ファイルの所有グループ名。 TAR_ATIME 最終アクセス日時。これは、the Epoch からの秒数を表す 10 進数です。 アーカイ ブの日時がナノ秒の精度の場合、タイムスタンプの小数点の後ろにナノ秒の部分が付 きます。 TAR_MTIME 最終更新日時。 TAR_CTIME 最終ステータス変更日時。 TAR_SIZE ファイルのサイズ。 TAR_UID ファイルの所有者の UID。 TAR_GID ファイルの所有グループの GID。 さらに、以下の環境変数に tar の操作モードや処理対象のアーカイブについての情報が含ま れています。 TAR_VERSION GNU tar のバージョン番号。 TAR_ARCHIVE tar が処理中のアーカイブの名前。 TAR_BLOCKING_FACTOR 現在のブロッキング係数。すなわち、1 レコードを構成する 512 バイトのブロック 数。 TAR_VOLUME tar が処理中のボリューム番号 (複数ボリュームのアーカイブを読み込んでいる場合 に設定されます)。 TAR_FORMAT 処理しているアーカイブのフォーマット。gnu, oldgnu, posix, ustar, v7 の内の 1 つ。 TAR_SUBCOMMAND tar が実行中の操作を表す短いオプション (前に 1 個のダッシュが付いたもの)。 ファイル属性の操作 --atime-preserve[=METHOD] ダンプの対象にした元ファイルのアクセス日時を変更しません。 その方法には、ファイルを 読み込んだ後でアクセス日時を元に戻すやり方 (METHOD=replace、デフォルト) と、最初か らアクセス日時を変更しないやり方 (METHOD=system) の二つがあります。 --delay-directory-restore 抽出したディレクトリの更新日時や許可属性の決定を、抽出の最後まで遅らせます。 メン バーの順番が通常とは違っているアーカイブから抽出する際には、このオプションを使用す るとよいでしょう。 (訳注: info tar の "Directory Modification Times and Permissions" を参照。) --group=NAME[:GID] アーカイブに入れるファイルの所有グループを NAME にします。 GID まで指定しない場 合、NAME はグループ名でも、GID 番号でもかまいません。 その場合、指定しない方 (GID、またはグループ名) は、使用中のホストのグループデータベースから推測されること になります。 --group-map=FILE と一緒に使われたときは、 所有グループが FILE のリストに載っていな いファイルに対してのみ効果があります。 --group-map=FILE グループ変換マップを FILE から読み込みます。空行は無視します。 コメントは # で始ま り、行末まで続く。FILE の空行以外の各行では、1 つのグループ変換を定義します。各行 は、任意の数のホワイトスペース (訳注: 空白やタブ) で区切られた 2 つのフィールドから 構成されていなければなりません。 すなわち、次のような形です: OLDGRP NEWGRP[:NEWGID] OLDGRP は有効なグループ名か、+ を前に付けた GID です。 NEWGID を指定しない場合 は、NEWGRP の方も、やはり有効なグループ名か、 +GID でなければなりません。NEWGID ま で指定した場合は、NEWGRP と NEWGID のどちらも、システムのグループデータベースに載っ ている必要はありません。 つまるところ、所有グループ OLDGRP の各入力ファイルが、所有グループを NEWGRP、GID を NEWGID としてアーカイブに格納されることになります。 --mode=CHANGES アーカイブに入れるファイルの許可属性を、シンボルによる指定で CHANGES にします (訳 注: 実際には 8 進数による指定も可能)。 --mtime=DATE-OR-FILE アーカイブに入れるファイルの mtime を設定します。DATE-OR-FILE は、 ほぼ任意のフォー マットの日付/時刻、または既存ファイルの名前です。 後者の場合、そのファイルの mtime が使われます。 -m, --touch ファイルの更新日時 (mtime) を抽出しません。 --no-delay-directory-restore 前に指定した --delay-directory-restore オプションの効果を取り消します。 --no-same-owner 実行ユーザ自身の資格でファイルを抽出します (一般ユーザのデフォルト)。 --no-same-permissions アーカイブから許可属性を抽出する際、実行ユーザの umask を適用します (一般ユーザのデ フォルト)。 --numeric-owner ユーザ/グループ名に常に番号を使います。 --owner=NAME[:UID] アーカイブに入れるファイルの所有者を NAME にします。 UID まで指定しない場合、NAME はユーザ名でも、UID 番号でもかまいません。 その場合、指定しない方 (UID、またはユー ザ名) は、使用中のホストのユーザデータベースから推測されることになります。 --owner-map=FILE と一緒に使われたときは、 所有者が FILE のリストに載っていないファ イルに対してのみ効果があります。 --owner-map=FILE 所有者変換マップを FILE から読み込みます。空行は無視します。 コメントは # で始ま り、行末まで続きます。FILE の空行以外の各行では、1 つの UID 変換を定義する。各行 は、任意の数のホワイトスペース (訳注: 空白やタブ) で区切られた 2 つのフィールドから 構成されていなければなりません。 すなわち、次のような形です: OLDUSR NEWUSR[:NEWUID] OLDUSR は有効なユーザ名か、+ を前に付けた UID です。 NEWUID を指定しない場合 は、NEWUSR の方も、やはり有効なユーザ名か、 +UID でなければなりません。NEWUID まで 指定した場合は、NEWUSR と NEWUID のどちらも、システムのユーザデータベースに載ってい る必要はありません。 つまるところ、所有者 OLDUSR の各入力ファイルが、所有者名を NEWUSR、UID を NEWUID と してアーカイブに格納されることになります。 -p, --preserve-permissions, --same-permissions ファイルの許可属性に関する情報を抽出します (スーパーユーザのデフォルト)。 --same-owner アーカイブ中のものと同じ所有者属性を付けて、ファイルを抽出しようと試みます (スー パーユーザのデフォルト)。 -s, --preserve-order, --same-order 引数である抽出すべきファイルの名前が、アーカイブ中と同じ順番でソートされていると tar に知らせます。(訳注: info tar の "Same Order" と "Option Summary" に詳しい説明 があります。それがわかりやすい。) --sort=ORDER アーカイブを作成する際に、ディレクトリエントリを ORDER に基づいてソートします。 ORDER は none, name, inode のいずれかです。 デフォルトは --sort=none であり、 オペレーティングシステムが返すのと同じ順番でメン バーをアーカイブします。 --sort=name は、作成されるアーカイブのメンバーの並び順を一定で、再現可能なものにし ます。 --sort=inode を使うと、アーカイブを作成する際のディスクシークの回数を減らし、 そう することで、実行時間をかなりスピードアップすることができます。 このソート順は、下層 で動いているシステムが必要な情報を提供する場合にのみ使用できます。 拡張ファイル属性 --acls POSIX ACL のサポートを有効にします。 --no-acls POSIX ACL のサポートを無効にします。 --selinux SELinux コンテキストのサポートを有効にします。 --no-selinux SELinux コンテキストのサポートを無効にします。 --xattrs 拡張属性のサポートを有効にします。 --no-xattrs 拡張属性のサポートを無効にします。 --xattrs-exclude=PATTERN xattr のキー (訳注: 拡張属性の名前) について、格納や抽出から除外するパターンを指定 します。PATTERN は POSIX の正規表現です。たとえば、--xattrs-exclude='^user.' と指 定すれば、名前空間 user の属性を除外することになります。 --xattrs-include=PATTERN xattr のキーについて、格納や抽出時にインクルードするパターンを指定します。 PATTERN は POSIX の正規表現です。 デバイスの選択と交換 -f, --file=ARCHIVE アーカイブファイルまたはアーカイブデバイスとして ARCHIVE を使用します。 このオプ ションを指定しない場合、tar は、まず環境変数 `TAPE' を調べ、 設定されていれば、その 値をアーカイブ名として使用します。 設定されていない場合は、コンパイル時に埋め込まれ たデフォルトを使います。 デフォルトの値は --show-defaults オプションを使って調べる ことができます。また、tar --help の出力の末尾を見てもわかります。 アーカイブ名にコロンが含まれている場合、それは、リモートマシンのファイルかデバイス です。 コロンの前の部分はマシン名または IP アドレスと見なされ、コロンの後の部分は ファイルまたはデバイスのパス名と見なされます。 例は以下のとおりです: --file=remotehost:/dev/sr0 そうしたければ、ホスト名の前にユーザ名を付けることもできます。その場合は、両者の間 に @ 記号を置きます。 デフォルトでは、リモートホストは rsh(1) コマンドを使ってアクセスされます。 最近で は、代わりに ssh(1) を使うのが一般的です。 そうしたい場合は、以下のコマンドラインオ プションを指定します: --rsh-command=/usr/bin/ssh リモートマシンには rmt(8) コマンドがインストールされていなければなりません。 その パス名が tar のデフォルトと一致しない場合は、 --rmt-command オプションを使って正し いパス名を tar に知らせることができます。 --force-local アーカイブファイル名にコロンが含まれていてもローカルファイルとして扱います。 -F, --info-script=COMMAND, --new-volume-script=COMMAND 各テープの終わりに COMMAND を実行します (-M が暗黙裡に設定されます)。 コマンドには 引数を含めることができます。コマンドは起動されるとき、tar の環境変数に加えて、以下 の環境変数を継承します。 TAR_VERSION GNU tar のバージョン番号。 TAR_ARCHIVE tar が処理中のアーカイブの名前。 TAR_BLOCKING_FACTOR 現在のブロッキング係数。すなわち、1 レコードを構成する 512 バイトのブロック 数。 TAR_VOLUME tar が処理中のボリューム番号 (複数ボリュームのアーカイブを読み込んでいる場合 に設定されます)。 TAR_FORMAT 処理しているアーカイブのフォーマット。gnu, oldgnu, posix, ustar, v7 の内の 1 つ。 TAR_SUBCOMMAND tar が実行中の操作を表す短いオプション (前に 1 個のダッシュが付いたもの)。 TAR_FD 新しいボリューム名を tar に伝えるために使うことができるファイルディスクリプ タ。 指定された info script が失敗した場合、tar は終了します。成功した場合は、次のボ リュームの書き込みを始めます。 -L, --tape-length=N Nx1024 バイトを書き込んだ後、テープを入れ替えます。 N にはサイズを表す接尾辞 (下記 の「サイズ接尾辞」を参照) を付けることができます。そうした接尾辞は 1024 の代わりに 使う乗数を指定しています。 このオプションは -M を暗黙裡に設定します。 -M, --multi-volume マルチボリュームアーカイブの作成/内容表示/抽出を行います。 --rmt-command=COMMAND リモートアーカイブにアクセスする際に、rmt の代わりに COMMAND を使います。 上記の -f オプションの説明を参照してください。 --rsh-command=COMMAND リモートアーカイブにアクセスする際に、rsh の代わりに COMMAND を使います。 上記の -f オプションの説明を参照してください。 --volno-file=FILE このオプションを --multi-volume とともに使うと、 tar は、 今マルチボリュームアーカ イブのどのボリュームを処理しているかを、FILE に記録することになります。 レコードとブロック (Device blocking) -b, --blocking-factor=BLOCKS レコードサイズを BLOCKSx512 バイトにします (訳注: BLOCKS は 1 レコードを構成する 512 バイトのブロックの数、すなわち、ブロッキング係数。たいていの場合、デフォルトは 20 になっています)。 -B, --read-full-records 内容表示や抽出をする際、ファイルの末尾を示すマーカーを含むレコードが、1 レコードの 大きさに満たない不完全な入力レコードであっても許容します。 (訳注: tar はアーカイブ の読み書きをレコード単位で行います。このオプションは、1 レコードの大きさに達しない 入力に対する処理を指定しています。info tar Reading を参照してください)。 -i, --ignore-zeros アーカイブ中の 0 ばかりからなるブロックを無視します。通常、0 で埋められた 512 バイ トブロックが 2 個連続すると、それはファイルの末尾 (EOF) を意味し、これに出会うと tar は読み込みを止めます。 このオプションを指定すると、0 のブロックに出会っても読み 込みを続けるので、 -A オプションを付けて作成したアーカイブを読み込むとき役に立ちま す。 --record-size=NUMBER レコードサイズを設定します。NUMBER は 1 レコードあたりのバイト数であり、512 の倍数 でなければなりません。 サイズ接尾辞を付けることもでき、たとえば、--record-size=10K は 10 キロバイトです。有効な接尾辞のリストについては、 サブセクション「サイズ接尾 辞」を見てください。 アーカイブ形式の選択 -H, --format=FORMAT 指定した形式のアーカイブを作成します。 有効なフォーマットは以下のとおりです: gnu GNU tar 1.13.x 形式 oldgnu GNU tar 1.12 以前の GNU 形式 pax, posix POSIX 1003.1-2001 (pax) 形式 ustar POSIX 1003.1-1988 (ustar) 形式 v7 古い V7 tar 形式 --old-archive, --portability --format=v7 と同じ。 --pax-option=keyword[[:]=value][,keyword[[:]=value]]... (-H pax で) PAX アーカイブを作成する際の pax のキーワードを調整する。このオプション は pax(1) ユーティリティの -o オプションと等価です。 --posix --format=posix と同じ。 -V, --label=TEXT TEXT というボリューム名 (訳注: ボリュームラベルとも言う) を付けて、アーカイブを作成 する。内容表示や抽出をする際にこのオプションを指定した場合は、TEXT をボリューム名の glob パターンとして使用します。 圧縮オプション -a, --auto-compress 圧縮プログラムを決定するためにアーカイブ拡張子を使用します。 -I, --use-compress-program=COMMAND データを COMMAND でフィルタする。コマンドは、伸長するための -d オプションを解するも のでなければなりません。 引数にはコマンドラインオプションも含めることができます。 -j, --bzip2 アーカイブを bzip2(1) でフィルタします。 -J, --xz アーカイブを xz(1) でフィルタします。 --lzip アーカイブを lzip(1) でフィルタします。 --lzma アーカイブを lzma(1) でフィルタします。 --lzop アーカイブを lzop(1) でフィルタします。 --no-auto-compress 圧縮プログラムを決定するためにアーカイブ拡張子を使用しません。 -z, --gzip, --gunzip, --ungzip アーカイブを gzip(1) でフィルタします。 -Z, --compress, --uncompress アーカイブを compress(1) でフィルタします。 --zstd アーカイブを zstd(1) でフィルタします。 ローカルファイルの選択 --add-file=FILE FILE をアーカイブに追加します (ファイル名がダッシュで始まる場合に便利です)。 --backup[=CONTROL] 上書きや削除をする前にバックアップを行います。引数 CONTROL を指定すれば、それがバッ クアップのやり方を決めます。有効な値は以下のとおりです。 (訳注: このオプション は、アーカイブの作成 (-c)、抽出 (-x)、どちらでも使えるが、-A, -r, -u, --delete では 無効のようです。) none, off バックアップを全く作成しません。 t, numbered 番号付きのバックアップを作成します。 nil, existing 番号付きのバックアップが存在すれば、番号付きのバックアップを、 存在しなけれ ば、単純形式のバックアップを作成します。 never, simple 常に単純形式のバックアップを行います。 CONTROL が指定されない場合、環境変数 VERSION_CONTROL から値を取得します。それも指定 されていない場合は、existing が指定されているものと見なされます。 -C, --directory=DIR 何らかの操作を行う前に、ディレクトリ DIR に移動します。 このオプションは順番を意識 します。すなわち、その後に続くすべてのオプションに影響を及ぼします。 --exclude=PATTERN glob(3) スタイルのワイルドカードパターン PATTERN にマッチするファイルを除外します (訳注: つまり、PATTERN の指定にシェル式のワイルドーカードが使えるということです)。 --exclude-backups バックアップファイルとロックファイルを除外します。 --exclude-caches CACHEDIR.TAG という名前のファイルを含むディレクトリの中身を除外します。 ただし、タ グファイル自体は除外しません。(訳注: CACHEDIR.TAG とそれが含むべき内容については、 <http://www.brynosaurus.com/cachedir/spec.html>、または <http://bford.info/cachedir/spec.html> を見てください。) --exclude-caches-all CACHEDIR.TAG という名前のファイルを含むディレクトリとタグファイル自体を除外します。 --exclude-caches-under CACHEDIR.TAG という名前のファイルを含むディレクトリ以下のすべてを除外します (訳注: ただし、そのディレクトリ自体は除外しません)。 --exclude-ignore=FILE ディレクトリをダンプする前に、FILE というファイルがそこに含まれているかを調べます。 含まれている場合は、そのファイルから除外パターンを読み込みます。 このパターンは、そ のディレクトリにのみ影響します。 --exclude-ignore-recursive=FILE --exclude-ignore と同様ですが、FILE から読み込んだパターンは、そのディレクトリとす べてのサブディレクトリに影響を及ぼします。 --exclude-tag=FILE FILE というファイルを含むディレクトリの中身を除外します。ただし、 FILE 自体は除外し ません。 --exclude-tag-all=FILE FILE というファイルを含むディレクトリを除外します。 --exclude-tag-under=FILE FILE というファイルを含むディレクトリ以下のすべてを除外します (訳注: ただし、その ディレクトリ自体は除外しません)。 --exclude-vcs バージョン管理システムのディレクトリを除外します。 --exclude-vcs-ignores VCS 独自の除外ファイルからパターンを読み込み、それにマッチするファイルを除外しま す。 サポートされているファイルは、 .cvsignore, .gitignore, .bzrignore, .hgignore です。 -h, --dereference シンボリックリンクを辿り、それが指しているファイルをアーカイブに入れます (訳注: シ ンボリックリンクが指している実ファイルが、 同一アーカイブに収録されるときは、その ハードリンクを、収録されないときは実ファイルを、 シンボリックリンクのファイル名で アーカイブに入れるようです)。 --hard-dereference ハードリンクを辿り、それが指しているファイルをアーカイブに入れます (訳注: ハードリ ンクとしてではなく、独立したファイルとしてアーカイブに入れます)。 -K, --starting-file=MEMBER アーカイブ内の指定されたメンバーから (抽出や内容表示を) 開始します。 --newer-mtime=DATE DATE 以降にデータが変更されたファイルを処理の対象にします。 DATE が / または . で始 まる場合は、 ファイル名と見なされ、そのファイルの mtime が日付として使われます。 --no-null これより前に指定された --null オプションの効果を無効にします。 --no-recursion ディレクトリにおいて自動的な下降をしないようにします。 --no-unquote 指定された入力ファイル名やメンバー名中の、バックスラッシュでクォートされたシーケン スを解釈・変換しません (訳注: すなわち、\t, \n, \b などをタブ、改行などとしてではな く、文字通り \t, \n, \b として扱う。なお、このオプションはコマンドライン上の位置が 意味を持ちます)。 --no-verbatim-files-from ファイルリストから読み込んだ各行を、あたかもコマンドラインから打ち込まれたかのよう に処理します。 すなわち、前後の空白を除去した後の文字列がダッシュで始まる場合 は、tar のコマンドラインオプションと見なします。 これはデフォルトの動作です。この --no-verbatim-files-from オプションがあるの は、--verbatim-files-from オプションを指定した後で動作を元に戻すためです。 このオプションは指定する位置が意味を持ちます。 すなわち、コマンドラインでこのオプ ションより後に指定されるすべての --files-from オプションに影響 し、--verbatim-files-from オプションが現れるか、コマンドラインの末尾に達するまで効 果が続きます。 --no-null オプションを指定すると、このオプションが暗黙裡に設定されます。 --null 後に続く -T オプションに対して、null で終端された名前を文字通りに読み込むように指示 します (つまり、-T オプションでダッシュで始まる名前の特別扱いをしなくなります)。 --verbatim-files-from も参照してください。 -N, --newer=DATE, --after-date=DATE DATE より新しいファイルのみを格納します。 DATE が / または . で始まっている場合は、 ファイル名と見なされ、そのファイルの mtime が日付として使われます。 --one-file-system アーカイブを作成する際に、ローカルファイルシステムに限定します。 -P, --absolute-names アーカイブを作成する際に、ファイル名の先頭のスラッシュを除去しません。 --recursion ディレクトリを再帰的に辿ります (デフォルト)。 --suffix=STRING 削除する前にバックアップを作り、拡張子を通常のものから変更します。 環境変数 SIMPLE_BACKUP_SUFFIX によって変更されていないかぎり、 デフォルトの拡張子は ~ です。 -T, --files-from=FILE アーカイブから抽出する名前やアーカイブに格納する名前を FILE から読み込みます。 別の指定がないかぎり、FILE の内容は、ASCII LF で区切られた名前のリストでなければな りません (つまり、1 行に 1 個の名前です)。 読み込まれた名前は、コマンドラインの引数 と同じやり方で処理されます。 すなわち、引用符が除去され、単語に分割され、そし て、ダッシュ (-) で始まる文字列があれば、tar のコマンドラインオプションとして処理 されます。 この動作が望ましくない場合は、 --verbatim-files-from オプションでやめさせることがで きます。 --null オプションを指定すると、tar は FILE 中の名前の区切りを LF ではなく、ASCII NUL 文字にします。 これはリストが find(1) の -print0 アクションで生成されている場 合に役に立ちます。 --unquote 指定された入力ファイル名やメンバー名中の、バックスラッシュでクォートされたシーケン スを解釈・変換します (デフォルト)。(訳注: すなわち、\t, \n, \b などをタブ、改行など として扱うということです。 なお、このオプションはコマンドライン上の位置が意味を持ち ます。) --verbatim-files-from ファイルリストから読み込んだ各行がダッシュで始まっていても、フィル名として扱いま す。 ファイルリストの取得には、--files-from (-T) オプションを使用します。tar のデ フォルトの動作は、ファイルリストから読み込んだ名前を、 あたかもコマンドラインから打 ち込まれたかのように処理することです。 すなわち、ダッシュで始まっている名前があれ ば、 tar のオプションと見なします。この --verbatim-files-from オプションは、そうし た動作をしないようにします。 このオプションは、コマンドラインでこれより後に指定されるすべての --files-from オプ ションに影響を与えます。 このオプションの効果は、 --no-verbatim-files-from オプ ションによって元に戻すことができます。 --null オプションを指定すると、このオプションが暗黙裡に設定されます。 --add-file も参照してください。 -X, --exclude-from=FILE FILE にリストされたパターンにマッチするファイルを除外します。 ファイル名の変更 --strip-components=NUMBER 抽出時にファイル名の先頭から NUMBER 個の構成要素 (訳注: 要するに、NUMBER 個のディレ クトリ部分) を取り去ります。 --transform=EXPRESSION, --xform=EXPRESSION sed の置換表現 EXPRESSION をファイル名の変更に使います。 ファイル名のマッチングに関するオプション これらのオプションは除外 (exclude) パターンと包摂 (include) パターンの両方に影響します。 --anchored パターンはファイル名の先頭にマッチします。 --ignore-case 大文字小文字を区別しません。 --no-anchored パターンはどの / の後にでもマッチします (除外時のデフォルト)。 --no-ignore-case 大文字小文字を区別してマッチングを行います (デフォルト)。 --no-wildcards パターンの文字列を文字通りに解してマッチングを行います (訳注: これはワイルドカード 文字をただの文字として扱うということです。\t, \n などを文字通りに読む方 は、--no-unquote を使います)。 --no-wildcards-match-slash ワイルドカードは / にマッチしません。 --wildcards ワイルドカードを使います (除外時のデフォルト)。 --wildcards-match-slash ワイルドカードは / にマッチします (除外時のデフォルト)。 情報出力 --checkpoint[=N] N レコード (デフォルトは 10) ごとに進捗メッセージを表示します。 --checkpoint-action=ACTION チェックポイントごとに ACTION を実行します。 --clamp-mtime --mtime で指定された日時より新しいファイルに対してのみ、日時を設定します。 --full-time 高精度でファイルの日時を表示します (訳注: tar 1.32 では秒まで。-v オプションが必 要)。 --index-file=FILE 詳細出力を FILE に書き出します。 -l, --check-links ハードリンクのすべてをダンプしていない場合に、その旨メッセージを出します。 --no-quote-chars=STRING STRING に列挙された文字を、表示するときにクォートする文字のリストから外します (訳 注: リストから外せるのは、--quote-chars によって追加された文字だけであり、 デフォル トでクォートすることになっている文字を外せるわけではありません。次の項目ともども info tar を参照してください)。 --quote-chars=STRING STRING に列挙された文字を、表示するときにクォートする文字のリストに追加します。 --quoting-style=STYLE ファイル名やメンバー名を表示するときのクォート形式を設定します。 STYLE に指定できる 値は以下のとおりです。 literal, shell, shell-always, c, c-maybe, escape, locale, clocale. -R, --block-number 各メッセージにアーカイブ中のブロック番号を付けます。 --show-omitted-dirs 内容表示や抽出をする際、検索の基準にマッチしないディレクトリに出会うごとに、その旨 表示します (訳注: 要するに、何らかの理由で、内容表示や抽出をスキップするディレクト リがあれば、 それを知らせるということです。info tar verbose を実行すると、そのセク ションにこのオプションのかなり詳しい説明があります)。 --show-transformed-names, --show-stored-names ファイル名やアーカイブ名を表示する際、--strip や --transform オプションで変更した後 の名前を使います (訳注: デフォルトでは変更前の名前が使われます)。 --totals[=SIGNAL] アーカイブを処理した後で総バイト数を表示します。 SIGNAL を指定すると、そのシグナル が送られたときの総バイト数を表示します。 指定できるシグナルは、 SIGHUP, SIGQUIT, SIGINT, SIGUSR1, SIGUSR2 です。接頭辞の SIG は省略できます。 --utc ファイル更新日時を UTC で表示します。 -v, --verbose 処理したファイルの詳しいリストを出力します。 このオプションをコマンドラインで指定し た数だけ、詳細レベルが 1 つずつ上がります。最大の詳細レベルは 3 です。それぞれの詳 細レベルで tar の出力がどのようになるかについては、GNU Tar Manual のサブセクション 2.5.2 "The '--verbose' Option" に詳しい説明があるので、参照してください (訳注: info tar 'verbose tutorial' で見ることができます)。 --warning=KEYWORD KEYWORD で特定される警告メッセージを有効、または無効にします。 KEYWORD の前に no- を付ければ、そのメッセージは抑制され、 付けなければ、有効になります。 --warning のメッセージを複数指定すると、前の指定に後のものが積み重なって行きます。 以下のキーワードは tar の操作全般を制御するものです: all すべての警告メッセージを有効にします。これがデフォルトです。 none すべての警告メッセージを無効にします。 filename-with-nuls "%s: 読み込んだファイル名にヌル文字が含まれています" alone-zero-block "%s に孤立したゼロブロックがあります" 以下のキーワードは tar --create に対して適用されます: cachedir "%s: キャッシュディレクトリのタグ %s があります; %s" file-shrank "%s: ファイルが %s バイト小さくなったので、ゼロで埋めます" xdev "%s: ファイルが異なるファイルシステム上にあるので、ダンプしません" file-ignored "%s: 未知のファイルタイプです。このファイルは無視します" "%s: ソケットは無視します" "%s: door は無視します" file-unchanged "%s: ファイルが変更されていないので、ダンプしません" ignore-archive "%s: ファイルがこのアーカイブそのものなので、ダンプしません" file-removed "%s: ファイルが読み込む前に削除されました" file-changed "%s: ファイルが読み込み中に変更されました" failed-read 読み込み不能なファイルやディレクトリについての警告メッセージを抑止します。 このキーワードは --ignore-failed-read オプションと一緒に使用した場合にのみ適 用されます。 以下のキーワードは tar --extract に対して適用されます: existing-file "%s: 既存ファイルをスキップします" timestamp "%s: あまりにも古いタイムスタンプ %s" "%s: タイムスタンプ %s は %s 秒後の日時を示しています" contiguous-cast "連続したファイル (contiguous files) を普通のファイルとして取り出します" symlink-cast "シンボリックリンクをハードリンクとして取り出してみます" unknown-cast "%s: 未知のファイルタイプ '%c'。通常のファイルとして抽出します" ignore-newer "現在の %s の方が新しいか同じです" unknown-keyword "未知の拡張ヘッダキーワード '%s' を無視します" decompress-program ある伸長プログラムの実行に失敗して、 別のプログラムで代用しようとしたときに 出る詳しい説明を制御します。 この警告は、デフォルトでは無効になっています (--verbose 使用時を除きます)。 この警告を有効にしたときに表示されるよくある 例は、次のようなものです: $ tar --warning=decompress-program -x -f archive.Z tar (child): cannot run compress: No such file or directory tar (child): trying gzip このメッセージは、tar が最初に compress を使って archive.Z を伸長しようとし て、それに失敗し、gzip に切り替えたことを示しています。 record-size "レコードサイズ = %lu ブロック" インクリメンタルな抽出を制御するキーワード: rename-directory "%s: ディレクトリ名が %s から変更されました" "%s: ディレクトリ名が変更されました" new-directory "%s: ディレクトリが新しく作られました" xdev "%s: ディレクトリが異なるデバイス上にあるので消去しません" bad-dumpdir "不正形式の dumpdir: 'X' が未使用" -w, --interactive, --confirmation すべての動作に対して確認を求めます。 互換オプション -o 作成時は --old-archive と同じであり、抽出時は --no-same-owner と同じです。 サイズ接尾辞 接尾辞 単位 バイトサイズ b ブロック SIZE x 512 B キロバイト SIZE x 1024 c バイト SIZE G ギガバイト SIZE x 1024^3 K キロバイト SIZE x 1024 k キロバイト SIZE x 1024 M メガバイト SIZE x 1024^2 P ペタバイト SIZE x 1024^5 T テラバイト SIZE x 1024^4 w ワード SIZE x 2
返り値
tar の終了コードは、要求された操作の遂行に成功したかどうか、 成功しなかった場合は、どのよ うなエラーが起きたかを示しています。 0 成功して終了しました。 1 いくつかのファイルに相違があります。 tar が --compare (--diff, -d) コマンドラインオ プションとともに起動された場合は、 アーカイブ内のファイルにディスク上の同名ファイル と異なっているものがあるということです。 --create, --append, --update オプションの いずれかが指定された場合は、アーカイブ処理の最中に変更されたファイルがあり、 従っ て、生成されたアーカイブはファイルセットの正確なコピーを保持していないことを示して います。 2 致命的なエラー。 これは、何らかの致命的で回復不能なエラーが起きたことを表していま す。 tar によって起動されたサブプロセスが、0 以外の終了コードで終了した場合は、tar 自身もその終 了コードで終了します。たとえば、圧縮オプション (-z など) を使用したとき、外部の圧縮プログ ラムが実行に失敗すると、そうしたことが起こり得ます。 他の例としては、rmt がリモートデバイ スへのバックアップ中に失敗した場合などがあります。
関連項目
bzip2(1), compress(1), gzip(1), lzma(1), lzop(1), rmt(8), symlink(7), xz(1), zstd(1). 詳細な tar マニュアルは、 info tar を実行するか、 emacs(1) の info モードを使用すれば、読 むことができます。 また、以下のサイトに行けば、様々な形式にした GNU tar マニュアルのオンライン版を見つけるこ とができます。 http://www.gnu.org/software/tar/manual
バグ報告
バグは <bug-tar@gnu.org> に報告してください。
著作権
Copyright © 2013-2019 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.