tar - アーカイブユーティリティ
構文
従来の構文
tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [引数...]
UNIXスタイルの構文
tar -A [オプション] -f アーカイブ アーカイブ...
tar -c [-f アーカイブ] [オプション] [ファイル...]
tar -d [-f アーカイブ] [オプション] [ファイル...]
tar -r [-f アーカイブ] [オプション] [ファイル...]
tar -t [-f アーカイブ] [オプション] [メンバー...]
tar -u [-f アーカイブ] [オプション] [ファイル...]
tar -x [-f アーカイブ] [オプション] [メンバー...]
GNUスタイルの構文
tar --catenate|--concatenate [オプション] --file アーカイブ アーカイブ...
tar --create [--file アーカイブ] [オプション] [ファイル...]
tar --diff|--compare [--file アーカイブ] [オプション] [ファイル...]
tar --delete [--file アーカイブ] [オプション] [メンバー...]
tar --append [--file アーカイブ] [オプション] [ファイル...]
tar --list [--file アーカイブ] [オプション] [メンバー...]
tar --test-label [--file アーカイブ] [オプション] [ラベル...]
tar --update [--file アーカイブ] [オプション] [ファイル...]
tar {--extract|--get} [--file アーカイブ] [オプション] [メンバー...]
注意事項
このmanページはGNU tarの簡単な説明です。詳細な説明、例、および使用方法については、texinfo形式で提供されているGNU Tarマニュアルを参照してください。infoリーダーとtarドキュメントがシステムに正しくインストールされている場合、次のコマンドを実行すると、完全なマニュアルにアクセスできます。
info tar
また、emacs(1)のinfoモードを使用してマニュアルを表示したり、次のURLでさまざまな形式でオンラインでマニュアルを見つけることができます。
https://www.gnu.org/software/tar/manual
このmanページとGNU Tarマニュアルの間に矛盾がある場合は、後者が権威ある情報源と見なされます。
説明
GNU tarは、複数のファイルを1つのファイル(アーカイブ)に保存し、そのようなアーカイブを操作するように設計されたアーカイブプログラムです。アーカイブは、通常のファイルまたはデバイス(例:テープドライブ。プログラムの名前の由来です。テープアーカイバとも呼ばれます)のいずれかであり、ローカルマシンまたはリモートマシンに配置できます。
オプションのスタイル
GNU tarへのオプションは、3つの異なるスタイルで指定できます。従来のスタイルでは、最初の引数はオプション文字のクラスターであり、その後のすべての引数は、それらのオプションに引数を供給します。引数は、オプション文字の順序と同じ順序で読み込まれます。
たとえば、cオプションではアーカイブの作成が必要であり、vオプションでは詳細な操作が要求され、fオプションでは操作対象のアーカイブの名前を設定する引数を受け取ります。 次のコマンドは、従来のスタイルで記述されており、tarに、/etcディレクトリのすべてのファイルをアーカイブファイルetc.tarに保存し、アーカイブされているファイルを詳細にリストするように指示します。
tar cfv etc.tar /etc
UNIXまたは短いオプション形式では、各オプション文字は単一のハイフンで始まる。これは、他のコマンドラインユーティリティと同様である。オプションに引数が必要な場合、引数はオプションの後に続く。これは、別のコマンドラインの単語として、またはオプションの直後にある。ただし、オプションにオプションの引数が必要な場合、引数はオプション文字の直後に、間に空白を入れずに続ける必要がある。例: -g/tmp/snar.db。
引数を取り込まないオプションは、単一のハイフンの後にまとめて記述できる。例: -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
別のアーカイブの末尾にアーカイブを追加する。引数は、追加するアーカイブの名前として扱われる。すべてのアーカイブは、追加されるアーカイブと同じ形式である必要がある。そうでない場合、結果のアーカイブは、GNU以外のtarの実装では使用できない可能性がある。また、複数のアーカイブが指定された場合、最初のアーカイブ以外のアーカイブのメンバーは、-i (--ignore-zeros) オプションを使用した場合にのみ、結果のアーカイブでアクセス可能になることに注意する。
圧縮されたアーカイブは連結できない。
-c, --create
新しいアーカイブを作成する。引数は、アーカイブするファイルの名前を指定する。ディレクトリは再帰的にアーカイブされる。ただし、--no-recursionオプションが指定されている場合は除く。
-d, --diff, --compare
アーカイブとファイルシステム間の違いを見つける。引数はオプションであり、比較するアーカイブのメンバーを指定する。指定されていない場合、現在の作業ディレクトリが使用される。
--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は、tarが前回の増分ダンプ以降に変更されたファイルと、その結果、再度ダンプする必要があるファイルを決定するために使用する追加情報を格納するスナップショットファイルのファイル名です。アーカイブを作成するときにFILEが存在しない場合、作成され、すべてのファイルが結果のアーカイブに追加されます(レベル0のダンプ)。レベルNのゼロ以外の増分アーカイブを作成するには、レベルN-1の作成時に作成されたスナップショットファイルのコピーを使用し、それをFILEとして使用する必要があります。
リストまたは抽出する場合、FILEの実際のコンテンツは検査されません。構文要件のために必要です。したがって、/dev/nullをその代わりに、使用することが一般的です。
--hole-detection=METHOD
疎なファイルで穴を検出するためにMETHODを使用します。このオプションは--sparseを意味します。METHODの有効な値は、seekとrawです。デフォルトは、適用できない場合にrawにフォールバックするseekです。
-G, --incremental
古いGNU形式の増分バックアップを処理します。
--ignore-failed-read
読み込みに失敗したファイルをスキップし、エラーコード 0 で終了する。
--level=NUMBER
作成するリスト形式のインクリメンタルアーカイブのダンプレベルを設定する。現在、--level=0 のみが意味を持ち、tar にスナップショットファイルを切り捨ててダンプするように指示し、レベル 0 のダンプを強制する。
-n, --seek
アーカイブがシーク可能であると仮定する。通常、tar はアーカイブがシーク可能かどうかを自動的に判断する。このオプションは、そのような認識が失敗した場合に使用することを目的とする。これは、アーカイブが読み取り用に開かれている場合にのみ有効になる(例:--list または --extract オプションを使用)。
--no-check-device
インクリメンタルアーカイブを作成するときにデバイス番号のチェックをしない。
--no-seek
アーカイブがシーク可能でないと仮定する。
--occurrence[=N]
アーカイブ内の各ファイルの N 番目の出現箇所のみを処理する。このオプションは、次のいずれかのサブコマンドと組み合わせて、コマンドラインまたは -T オプションでファイルリストが指定された場合にのみ有効である:--delete、--diff、--extract、または --list。デフォルトの N は 1 である。
--restrict
潜在的に危険なオプションの使用を無効にする。
--sparse-version=MAJOR[.MINOR]
使用するスパース形式のバージョンを設定する。このオプションは --sparse を意味する。有効な引数の値は 0.0、0.1、および 1.0 である。スパース形式の詳細については、GNU Tar マニュアルの付録 D「スパース形式」を参照すること。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
抽出時に既存のファイルを置き換えない。サイレントにスキップする。
-U, --unlink-first
抽出する前に、各ファイルを削除する。
-W, --verify
アーカイブを書き込んだ後に検証します。
出力ストリームの選択
--ignore-command-error
サブプロセスの終了コードを無視します。
--no-ignore-command-error
子プロセスの非ゼロの終了コードをエラーとして扱います(デフォルト)。
-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
最後のアクセス時刻。エポックからの秒数で表される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のいずれか。
TAR_SUBCOMMAND
tarが実行している操作を説明する短いオプション(先頭にダッシュが付く)。
ファイル属性の処理
--atime-preserve[=METHOD]
ダンプされたファイルのアクセス時刻を保持します。方法は、時刻を読み込んだ後に復元する(METHOD=replace、これがデフォルト)か、最初から時刻を設定しない(METHOD=system)のいずれかです。
--delay-directory-restore
抽出されたディレクトリの変更時刻と権限の設定を抽出の最後に遅らせます。異常なメンバー順序を持つアーカイブから抽出する場合に使用します。
--group=NAME[:GID]
追加されたファイルのグループをNAMEに強制的に設定します。GIDが指定されていない場合、NAMEはユーザー名または数値GIDのいずれかになります。この場合、不足している部分(GIDまたは名前)は、現在のホストのグループデータベースから推測されます。
--group-map=FILEと組み合わせて使用する場合、FILEにリストされていない所有者グループを持つファイルにのみ影響します。
--group-map=FILE
FILEからグループ変換マップを読み込みます。空の行は無視されます。コメントは#記号で始まり、行末まで続きます。FILE内の各空でない行は、単一のグループの変換を定義します。これは、任意の量の空白で区切られた2つのフィールドで構成されている必要があります。
OLDGRP NEWGRP[:NEWGID]
OLDGRP は、有効なグループ名、または + で始まる GID です。 NEWGID が指定されていない限り、NEWGRP も有効なグループ名、または +GID である必要があります。 そうでない場合、NEWGRP と NEWGID の両方がシステムグループデータベースにリストされている必要はありません。
その結果、入力ファイルごとに、所有者グループが OLDGRP であるファイルは、アーカイブ内に所有者グループ NEWGRP および GID NEWGID で保存されます。
--mode=CHANGES
追加されたファイルに対して、シンボリックモードの変更を強制します。
--mtime=DATE-OR-FILE
追加されたファイルの mtime を設定します。 DATE-OR-FILE は、ほぼ任意の形式の、日付と時刻、または既存のファイル名です。 後者の場合、そのファイルの mtime が使用されます。
-m, --touch
ファイルの修正時刻を抽出しません。
--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 の各空でない行は、単一の UID の翻訳を定義します。 これには、任意の量の空白で区切られた 2 つのフィールドが含まれている必要があります。
OLDUSR NEWUSR[:NEWUID]
OLDUSR は、有効なユーザー名、または + で始まる UID です。 NEWUID が指定されていない限り、NEWUSR も有効なユーザー名、または +UID である必要があります。 そうでない場合、NEWUSR と NEWUID の両方がシステムユーザーデータベースにリストされている必要はありません。
その結果、OLDUSR が所有する各入力ファイルは、アーカイブ内に所有者名 NEWUSR および UID NEWUID で保存されます。
-p, --preserve-permissions, --same-permissions
抽出されたファイルの権限を、アーカイブに記録されているものに設定します (スーパーユーザーのデフォルト)。
--same-owner
アーカイブ内に存在するのと同じ所有権でファイルを抽出するように試みます (スーパーユーザーのデフォルト)。
-s, --preserve-order, --same-order
tar に対して、処理するファイル名のリストが、アーカイブ内のファイルと同じ順序でソートされていることを伝えます。
--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 は glob パターンです。たとえば、--xattrs-exclude='user.\*' を指定すると、user 名前空間の属性のみが含まれます。
^ -xattrs-include=PATTERN xattr キーの包含パターンを指定します。PATTERN は glob パターンです。
デバイスの選択と切り替え
^ f, --file=ARCHIVE アーカイブファイルまたはデバイス ARCHIVE を使用します。このオプションが指定されていない場合、tar は最初に環境変数 TAPE を調べます。設定されている場合は、その値がアーカイブ名として使用されます。それ以外の場合、tar はコンパイル時に指定されたデフォルト値を想定します。デフォルト値は、--show-defaults オプションを使用するか、tar --help 出力の最後に表示される情報を使用して確認できます。
コロンを含むアーカイブ名は、リモートマシンのファイルまたはデバイスを指定します。コロンの前の部分はマシン名または IP アドレスとして、コロンの後の部分はファイルまたはデバイスのパス名として扱われます。例:
^ -file=remotehost:/dev/sr0
オプションで、ユーザー名をホスト名の前に置き、@ 記号で区切ることができます。
デフォルトでは、リモートホストは rsh(1) コマンドを使用してアクセスされます。現在では、[ssh]({filename}../../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
現在のブロッキングファクター(レコード内の 512 バイトブロックの数)。
TAR_VOLUME
tar が処理しているボリュームの序数(マルチボリュームアーカイブを読み込んでいる場合に設定されます)。
TAR_FORMAT
処理中のアーカイブの形式。gnu, oldgnu, posix, ustar, v7 のいずれか。
TAR_SUBCOMMAND
tar が実行している操作を説明する短いオプション(先頭にダッシュが付く)。
TAR_FD
新しいボリューム名を tar に通知するために使用できるファイル記述子。
^ nfo スクリプトが失敗した場合、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に追跡します。
デバイスブロッキング
-b, --blocking-factor=BLOCKS
レコードサイズをBLOCKS x 512バイトに設定します。
-B, --read-full-records
リストまたは抽出する場合、ファイルの終端マーカーの後の不完全な入力レコードを受け入れます。
-i, --ignore-zeros
アーカイブ内のゼロ埋めされたブロックを無視します。通常、連続する2つの512バイトブロックがゼロで埋められている場合、それはEOFを意味し、tarは読み込みを停止します。このオプションは、-Aオプションで作成されたアーカイブを読み込む場合に役立ち、読み込みを続行するように指示します。
--record-size=NUMBER
レコードサイズを設定します。NUMBERは1レコードあたりのバイト数です。512の倍数である必要があります。--record-size=10Kのように、サイズ接尾辞を付けることができます。これは10キロバイトです。有効な接尾辞のリストについては、サイズ接尾辞のサブセクションを参照してください。
アーカイブ形式の選択
-H, --format=FORMAT
指定された形式のアーカイブを作成します。有効な形式は次のとおりです。
gnu GNU tar 1.13.x形式
oldgnu 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]]...
PAXアーカイブを作成するとき(-H pax)にpaxキーワードを制御します。このオプションは、pax(1)ユーティリティの-oオプションと同等です。
--posix
--format=posixと同じです。
-V, --label=TEXT
ボリューム名TEXTを持つアーカイブを作成します。リストまたは抽出する場合、TEXTをボリューム名のグロビングパターンとして使用します。
圧縮オプション
-a, --auto-compress
アーカイブのサフィックスを使用して、圧縮プログラムを決定します。
-I, --use-compress-program=COMMAND
データをCOMMANDでフィルタリングします。-dオプションをサポートする必要があります。引数にはコマンドラインオプションを含めることができます。
-j, --bzip2
アーカイブを[bzip2]({filename}bzip2.md)(1)でフィルタリングします。
-J, --xz
アーカイブを[xz]({filename}../../xz)(1)でフィルタリングします。
--lzip アーカイブをlzip(1)でフィルタリングします。
--lzma アーカイブをlzma(1)でフィルタリングします。
--lzop アーカイブをlzop(1)でフィルタリングします。
--no-auto-compress
アーカイブのサフィックスを使用して、圧縮プログラムを決定しません。
-z, --gzip、--gunzip、--ungzip
アーカイブを[gzip]({filename}../../gzip)(1)でフィルタリングします。
-Z, --compress、--uncompress
アーカイブをcompress(1)でフィルタリングします。
--zstd アーカイブを zstd(1) でフィルタリングします。
ローカルファイルの選択
--add-file=FILE
FILE をアーカイブに追加します(ファイル名がハイフンで始まる場合に便利です)。
--backup[=CONTROL]
削除前にバックアップします。CONTROL 引数(指定された場合)は、バックアップポリシーを制御します。
有効な値は次のとおりです。
none, off
バックアップを作成しません。
t, numbered
番号付きのバックアップを作成します。
nil, existing
番号付きのバックアップが存在する場合は番号付きのバックアップを作成し、それ以外の場合は単純なバックアップを作成します。
never, simple
常に単純なバックアップを作成します。
CONTROL が指定されていない場合、値は VERSION_CONTROL 環境変数から取得されます。
設定されていない場合は、existing が想定されます。
-C, --directory=DIR
操作を実行する前に DIR に変更します。このオプションは順序に依存します。つまり、
以降のすべてのオプションに影響します。
--exclude=PATTERN
PATTERN に一致するファイルを排除します。PATTERN は glob(3) スタイルのワイルドカードパターンです。
--exclude-backups
バックアップファイルとロックファイルを排除します。
--exclude-caches
file CACHEDIR.TAG を含むディレクトリの内容を排除しますが、タグファイル自体は排除しません。
--exclude-caches-all
file CACHEDIR.TAG を含むディレクトリとファイル自体を排除します。
--exclude-caches-under
file 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
アーカイブ内の指定された MEMBER から開始します。
--newer-mtime=DATE
DATE 以降に変更されたファイルのデータを処理します。DATE が / または . で始まる場合、
ファイル名と見なされ、そのファイルの mtime が日付として使用されます。
--no-null
前の --null オプションの効果を無効にします。
--no-recursion
ディレクトリ内への自動的な再帰的な処理を回避します。
--no-unquote
入力ファイルまたはメンバー名を引用解除しません。
--no-verbatim-files-from
各行をファイルリストから読み取り、コマンドラインで指定されたかのように処理します。つまり、
先頭と末尾の空白が削除され、結果の文字列がハイフンで始まる場合は、tar コマンドラインオプションとして扱われます。
これはデフォルトの動作です。--no-verbatim-files-from オプションは、--verbatim-files-from オプションの後に使用して、
この動作を復元するために提供されます。
このオプションは位置依存です。コマンドラインでこのオプションの後に続くすべての --files-from オプションに影響を与え、--verbatim-files-from オプションまたは行末のいずれかに達するまで有効です。
^ -no-null オプションによって暗黙的に有効になります。
`--null` 後続の `-T` オプションに、NULL 終端された名前をそのまま読み込むように指示します(先頭がダッシュで始まる名前の特別な処理を無効にします)。
^ -verbatim-files-from も参照してください。
`-N`, `--newer=DATE`, `--after-date=DATE`
DATE より新しいファイルのみを保存します。DATE が / または . で始まる場合、ファイル名と見なされ、そのファイルの mtime が日付として使用されます。
`--one-file-system`
アーカイブの作成時にローカルファイルシステムにとどまります。
`-P`, `--absolute-names`
アーカイブの作成時にファイル名の先頭のスラッシュを削除しません。
`--recursion`
ディレクトリを再帰的に処理します(デフォルト)。
`--suffix=STRING`
削除前にバックアップを作成し、通常のスuffixをオーバーライドします。デフォルトのスuffixは ~ で、環境変数 SIMPLE_BACKUP_SUFFIX でオーバーライドできます。
`-T`, `--files-from=FILE`
FILE から抽出または作成するファイル名を読み取ります。
指定されていない限り、FILE には ASCII LF (つまり、1 行に 1 つの名前) で区切られた名前のリストが含まれている必要があります。読み取られた名前は、コマンドライン引数と同様に扱われます。引用符が削除され、単語分割が行われ、-- で始まる文字列は tar コマンドラインオプションとして扱われます。
この動作を望ましくない場合は、--verbatim-files-from オプションを使用して無効にすることができます。
^ -null オプションは、FILE 内の名前が ASCII LF 文字ではなく、ASCII NUL 文字で区切られていることを tar に指示します。これは、find(1) の -print0 述語によって生成されたリストで使用すると便利です。
`--unquote`
ファイル名またはメンバー名を引用符から解放します(デフォルト)。
`--verbatim-files-from`
ファイルリストから取得した各行をファイル名として扱います。ファイル名の先頭がダッシュで始まる場合でも同様です。ファイルリストは、--files-from (-T) オプションで指定されます。デフォルトの動作では、ファイルリストで提供される名前は、コマンドラインに入力されたものとして扱われます。つまり、先頭がダッシュで始まる名前は tar オプションとして扱われます。--verbatim-files-from オプションは、この動作を無効にします。
このオプションは、コマンドラインでこのオプションの後に続くすべての --files-from オプションに影響を与えます。
その効果は、--no-verbatim-files-from オプションによって元に戻されます。
このオプションは、--null オプションによって暗黙的に有効になります。
^ -add-file も参照してください。
`-X`, `--exclude-from=FILE`
FILE にリストされているパターンに一致するファイルを除外します。
ファイル名の変換
`--strip-components=NUMBER`
抽出時にファイル名から NUMBER 個の先頭コンポーネントを削除します。
`--transform=EXPRESSION`, `--xform=EXPRESSION`
sed の置換式 EXPRESSION を使用してファイル名を変換します。
ファイル名マッチングオプション
これらのオプションは、除外パターンと包含パターンの両方に影響します。
`--anchored`
パターンはファイル名の先頭に一致します。
`--ignore-case`
大文字と小文字を区別しません。
`--no-anchored`
パターンは任意の / の後に一致します (除外のデフォルト)。
`--no-ignore-case`
大文字と小文字を区別するマッチング (デフォルト)。
`--no-wildcards`
リテラル文字列マッチング。
`--no-wildcards-match-slash`
ワイルドカードは / に一致しません。
`--wildcards`
ワイルドカードを使用します (除外のデフォルト)。
--wildcards-match-slash
ワイルドカードは / に一致します(デフォルトは除外)。
有益な出力
--checkpoint[=N]
N個のレコードごとに進捗メッセージを表示します(デフォルトは10)。
--checkpoint-action=ACTION
各チェックポイントでACTIONを実行します。
--clamp-mtime
--mtimeで指定されたものよりも新しいファイルの場合にのみ、時間を設定します。
--full-time
ファイル時間を完全な解像度で表示します。
--index-file=FILE
詳細な出力をFILEに送信します。
-l, --check-links
すべてのリンクがダンプされたかどうかを示すメッセージを表示します。
--no-quote-chars=STRING
STRINGの文字の引用を無効にします。
--quote-chars=STRING
STRINGの文字をさらに引用します。
--quoting-style=STYLE
ファイル名とメンバー名の引用スタイルを設定します。STYLEの有効な値は、literal、shell、shell-always、c、c-maybe、escape、locale、clocaleです。
-R, --block-number
アーカイブ内の各メッセージでブロック番号を表示します。
--show-omitted-dirs
リストまたは抽出時に、検索条件に一致しない各ディレクトリをリストします。
--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マニュアルのセクション2.5.2「'--verbose'オプション」を参照してください。
--warning=KEYWORD
キーワードで識別される警告メッセージを有効または無効にします。キーワードの先頭にno-が付けられている場合、メッセージは抑制され、それ以外の場合は有効になります。
複数の--warningオプションを累積できます。
tarの一般的な操作を制御するキーワード:
all
すべての警告メッセージを有効にします。これはデフォルトです。
none
すべての警告メッセージを無効にします。
filename-with-nuls
"%s: ファイル名にヌル文字が含まれています"
alone-zero-block
"A lone zero block at %s"
tar --createに適用されるキーワード:
cachedir
"%s: キャッシュディレクトリタグ%sが含まれています; %s"
file-shrank
"%s: ファイルが%sバイト縮小されました。ゼロでパディングします"
xdev
"%s: ファイルは別のファイルシステムにあります。ダンプしません"
file-ignored
"%s: 不明なファイルタイプです。ファイルは無視されます" "%s: ソケットは無視されます" "%s: ドアは無視されます"
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
"連続したファイルを通常のファイルとして抽出しています"
symlink-cast
"シンボリックリンクをハードリンクとして抽出しようとしています"
unknown-cast
"%s: 未知のファイルタイプ '%c'、通常のファイルとして抽出しました"
ignore-newer
"現在の %s は、より新しく、または同じくらい新しい"
unknown-keyword
"未知の拡張ヘッダーキーワード '%s' を無視しています"
decompress-program
代替のデコンプレッサープログラムを実行しようとしたときに発生するエラーの説明を詳細に表示します。この警告はデフォルトで無効になっています(--verbose を使用しない限り)。この警告を使用すると、次のようなメッセージが表示されることがあります。
$ tar --warning=decompress-program -x -f archive.Z
tar (子プロセス): compress を実行できません: そのようなファイルまたはディレクトリはありません
tar (子プロセス): gzip を試します
これは、tar が最初に archive.Z を compress を使用して解凍しようとし、失敗した場合に gzip に切り替えたことを意味します。
record-size
"レコードサイズ = %lu ブロック"
インクリメンタル抽出を制御するキーワード:
rename-directory
"%s: ディレクトリは %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) コマンドラインオプションで呼び出された場合、これはアーカイブ内のいくつかのファイルがディスク上の対応するファイルと異なることを意味します。tar が --create、--append、または --update オプションのいずれかで呼び出された場合、この終了コードは、いくつかのファイルがアーカイブ中に変更されたため、結果として得られるアーカイブには、ファイルの正確なコピーが含まれていないことを意味します。
2 致命的なエラー。これは、何らかの致命的で、回復不能なエラーが発生したことを意味します。
tar によって呼び出されたサブプロセスがゼロ以外の終了コードで終了した場合、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 のドキュメントのさまざまな形式でのオンラインコピーは、次の場所で見つけることができます。
https://www.gnu.org/software/tar/manual
バグ報告
バグは <__> に報告してください。
著作権
Copyright © 2023 Free Software Foundation, Inc. ライセンス GPLv3+: GNU GPL バージョン 3 以降 [http://gnu.org/licenses/gpl.html] これはフリーソフトウェアです。変更および再配布することができます。保証は一切ありません。法で許可されている範囲内で。