tar - ファイルのコピーまたはバックアップを作成するために tar アーカイブ・ファイルを操作する

形式

  • tar –cf[#sbvwlzOUXS] tarfile [blocksize] [–V volpat] [file [–C pathname] ...]
  • tar –rf[#sbvwlzOUXS] tarfile [blocksize] [–V volpat] [file [–C pathname] ...]
  • tar –tf[#sbvzEOUXS] tarfile [blocksize] [–L type] [–V volpat] [file [–C pathname] ...]
  • tar –xf[#sAbvwpmozOUXS] tarfile [blocksize] [–V volpat] [file [–C pathname] ...]

説明

tar は、アーカイブ・ファイルを読み取り、書き込み、リストします。アーカイブ・ファイル は 1 つまたは複数のファイル、ディレクトリー、あるいは その両方が入っている単一ファイルです。アーカイブ・ファイルは、UNIX ファイルであっても MVS™ データ・セットであってもかまいません。アーカイブの内部に格納されたファイルを、コンポーネント・ファイル と 呼びます。 同様に、アーカイブの内部に格納されたディレクトリーを コンポーネント・ディレクトリー と呼びます。

制約事項: 以下の制約事項に注意してください。
  • MVS データ・セットをコンポーネント・ファイルとして指定することはできません。
  • tar は世代別データ・グループ (GDG) の使用をサポートしていません。

各コンポーネントのファイルおよび ディレクトリーと共に、所有者名とグループ名、許可ビット、ファイル属性、および 変更時刻などの記録情報も入っています。したがって、単一のアーカイブ・ファイルを使用して、ディレクトリー構造を 1 つのマシンから別のマシンに転送したり、ファイルとディレクトリーのグループのバックアップおよび復元を 行うことができます。

tar で作成されたアーカイブは、pax ユーティリティー で作成されたアーカイブと交換可能です。いずれのユーティリティーとも、他方のデフォルトのフォーマット (pax の場合は USTAR、tar の場合は TAR) でアーカイブを読み取り、作成することができ ます。拡張 USTAR 属性を保管するには、USTAR フォーマット (-U) を -X オプションと共に使用 する必要があります。-S オプションを使用することによって、OS390 フォーマットも 使用することができます。一般には、-X オプションを指定した USTAR フォーマット、 および OS390 フォーマットは、大部分の情報を記録するので、これらのフォーマットの使用をお勧めします。 アーカイブの名前には、.pax または .tar (あるいは圧縮ファイルの場合 は pax.Z および tar.Z) などの接尾部を一般的には付けますが、付けなくてもかまいません。

表 1 に、USTAR フォーマットの推奨オプションをリストします。

表 1. USTAR フォーマットの推奨オプション
意図 オプション
標準属性のみを保管する tar -U
z/OS® システムに復元されるすべての属性を保管する tar -S
z/OS および z/OS 以外のシステムに復元されるすべての属性を保管する tar -UX

拡張属性、外部リンク、ACL、ファイル・タグ情報、およびターゲットが 100 文字を超えるリンクなどの情報を保存するには、USTAR フォーマット (-U) と -X オプションを使用するか、または、-S オプションを使用して OS390 フォーマットを使用する必要があります。 USTAR フォーマットの選択については、-U オプションを参照してください。-O および -X オプションの説明および z/OS 拡張 USTAR サポートには、USTAR サポートの使用可能お よび使用不可にすることについての情報が示されています。

tar は、 –f を指定しない場合は使用することはできません。

オプション

構文に示されているコマンドの 4 つの形式は、次のような tar の 主要機能を表しています。
–c
アーカイブを作成します。指定した各ファイルを新しく作成した アーカイブに書き込みます。ディレクトリーは、すべてのコンポーネントを再帰的に組み込みます。USTAR (–U) オプションの下では、tar は、ディレクトリーおよびテープ・アーカイブ内の他のスペシャル・ファイルを記録します。それ以外の場合は、そのようなファイルを無視します。ファイル名の代わりに があると 、tar は標準入力からファイルのリストを 1 行に 1 つ読み取りま す。これにより 、tar がアーカイブするファイルのリストを他のコマンドで生成することが可能になります。

ヒント: 拡張属性および外部リンクに関する情報を 保存するには、USTAR フォーマット (-U) を使用する必要があります。さらに、ACL、ファイル・タグ情報、 および 100 文字を超えるリンク名を保存するには、USTAR フォーマット (-U) と -X オプションを 使用する必要があります。-S オプションを使用して、OS390 アーカイブ・フォーマットでもすべてのファイル属性 を保管することができます。

–r
指定したファイルをアーカイブの終わりに書き込みます。この方式を使用すると 、1 つのファイルのコピーをテープ・アーカイブ内に複数 持つことが可能です。コマンドのこの形式をテープで使用するには、テープをバックスペースできることが必要です。OS390 フォーマットを非 OS390 フォーマットのアーカイブに追加する指定や、非 OS390 フォーマットを OS390 フォーマットのアーカイブに追加する指定はできません。

制約事項: –r オプションと –z オプションを両方同時に指定することはできません。

–t
目次を表示します。このオプションは、アーカイブ内のすべてのファイルの名前を、1 行 に 1 つ、表示します。コマンド行で 1 つまたは複数のファイルを指定すると 、tar は指定したファイル名のみを出力します。詳細 (-v) オプションを使用すると、 各コンポーネントの属性を表示することができます。USTAR フォーマットのアーカイブ、 または OS390 フォーマットのアーカイブの場合は、-L E オプションを使用すると、 各コンポーネントの属性と拡張属性を表示することができます。
–x
アーカイブからファイルを抽出します。tar は、指定されたファイルを同じ名前のファイルに抽出し ます。コマンド行でファイルを指定しなかった場合、アーカイブ内のすべてのファイルが抽出され ます。この抽出により、すべてのファイル・システム属性は、他のオプションによって 制御されるように、復元されます。
基本オプションの 1 つをオプション・ストリングの先頭文字として 指定する 必要があります。他の文字をオプション・ストリングに追加することができます。最初のオプション・ストリングの先行ダッシュを省略できますが、すべての後続のオプションの前にはダッシュを付ける必要があります。 オプション・ストリングに使用可能な他のオプションは以下のとおりです。
-A
–x オプションを指定して使用されたときは ACL 情報を復元します。
-b
テープ・アーカイブの読み取り/書き込み操作に使用する 512 バイト・ブロックの数 を、blocksize に設定します。blocksize 引数は必ず指定する必要があります。blocksize が指定できるのは、b がオプション・ストリングにある場合のみです。テープ・アーカイブから 読み取る際、tar は、許される最大のブロック化因数を読み取ろうと試み、読み取った実際の数を blocksize として使用することによって、自動的にブロック化因数を判別します。

UNIX 互換の場合、有効な最大ブロック・サイズは 20 ブロックです。USTAR モードでは、63 ブロックになります。

–C pathname
オプションとしては変わっています。ファイル・リストの真ん中に指定されるからです。tar がファイルをアーカイブしている 最中に –C pathname オプションに出会うと、作業ディレクトリー (tar 専用) を pathname に変更し、ファイル・リスト内の後続入力のすべて (別の –C を含む) を pathname に対して 相対であるとして扱います。
–E
以前のバージョンのtar との互換性はまだサポートされていますが、 このオプションは –L E で置き換えられました。
-f
-f を指定する必要があります。-f オプションでは、ファイル tarfile をテープ・アーカイブ用に使用し、デフォルトは使用しません。tarfile 引数は必ず指定する必要がありますが 、tarfile が指定できるのは、-f がオプション・ストリング内にある場合のみ です。両方がある場合、tarfile 引数は blocksize 引数の前に置く必要があります。tarfile が文字 の場合、アーカイブ・フォーマットのデフォルトは USTAR となり、標準入力がアーカイブ読み取りに、標準出力がアーカイブ書き込みに使用されます。
-l
テープ・アーカイブにファイルを追加中に、リンクがすべて解決されない場合、エラー・メッセージを書き込みます。
–L type
–L により、アーカイブの内容をリスト時に追加情報が 表示されます。–L オプションにつき 1 つのタイプのみ 指定できます。ただし、–L は複数回指定できます。表示可能なタイプは以下のとおりです。
A
拡張 ACL (アクセス制御リスト) データを表示します。

tar –L A を指定しても、詳細な目次形式は自動的にオンになりません。ファイルと関連した chmod 設定を表示するには、–v も 指定する必要があります。

ACL について詳しくは、「z/OS UNIX System Services 計画」のアクセス制御リストの制御に関するセクション、および アクセス制御リスト (ACL) の tar サポートを参照してください。

E
詳細 (–v) 出力と同じですが、さらに拡張属性も表示します。詳細は、出力を参照してください。 –L Etar –E と同じです。
T
ファイル・タグ情報を表示します。詳細 –v オプションを自動的にオンにしませんが 、–v または目次の表示オプションとの他の任意の組み合わせと一緒に使用できます。詳細は、出力を参照してください。
-m
アーカイブから抽出する際、ファイルの変更タイム・スタンプを 復元しません。デフォルトでは、アーカイブに含まれている情報からタイム・スタンプを復元することになっています。
-o
アーカイブにファイルを書き込む際、アーカイブ内の所有者およびディレクトリーの モードを記録しません。既存の tar アーカイブから抽出する際にこれが指定されている と、tar はアーカイブ内の所有者およびグループ情報を何も復元しません。デフォルトは、tar アーカイブを作成する際にこの情報を記録し、アーカイブから抽出する際に復元することです。
–O
USTAR フォーマットのアーカイブの場合、このオプションは拡張 USTAR サポートを オフにします。-O はデフォルトであり、ユーザーは USTAR アーカイブ用に拡張 USTAR サポートを オンにするには、-X オプションを使用する必要があります。

詳しくは、z/OS 拡張 USTAR サポートを参照してください。

-p
抽出するとき、3 つの高順位ファイル許可ビットを アーカイブと正確に同じに復元します。ビットはそれぞれ、セット・ユーザー ID、セット・グループ ID、および スティッキー・ビットを示します。USTAR フォーマットのアーカイブの場合、p も拡張属性 (存在していれば) を 復元し、-A は ACL を復元します。

ヒント: -O が指定されている場合、 それは拡張属性に対して -p をオーバーライドします。 拡張属性は復元されません。tar は、 アーカイブに格納された通りにモードを復元し、UMASK を無視します。 UNIX システムで -p を使用するには、適切な権限を持っている必要 があります。tar は、モードを正確にアーカイブにある 通りに復元し、UMASK は無視します。

-#s
-#s は、z/OS UNIX に よってサポートされません。tar が 使用するデフォルトの アーカイブ・ファイル名は、/dev/mt/0m です。 このオプションは、このデフォルトを変更するには、最も一般的ではない方法です。もっと一般的な方法については、-f オプションを参照して ください。このオプションによって生成されるファイル名の 形式は、/dev/mt/#s です。# は、0 と 7 を含む、07 の間の任意の数字で、磁気テープ装置を選択するのに使用します。密度セレクター s は、l (低)、m (中)、または h (高) のいずれかです。
-S
tar に OS390 フォーマットを使用するように強制します。OS390 フォーマットは、デフォルトですべてのファイル属性を保管するためのサポートを提供します。
–X
USTAR フォーマットのアーカイブの場合、–X は拡張 USTAR サポート を使用可能にします。このオプションは、USTAR フォーマット以外のアーカイブには影響を与えません。tar –X は、次のように機能します。
  • アーカイブの書き込み時には、-X が指定されていると、tar は拡張 USTAR 情報を保存します。
  • アーカイブのリスト時には、-X が指定されていると、tar は USTAR 情報を表示します。これはデフォルトです。-O を使用すれば、拡張 USTAR サポートを使用不可にできます。
  • アーカイブの読み取り中に、-X が指定されていると、tar は拡張 USTAR 情報を復元します。これはデフォルトです。-O を使用すれば、拡張 USTAR サポートを使用不可にできます。

    環境変数 _OS390_USTAR=Y も、 拡張 USTAR 情報をオンにします。

ある特定の情報を復元するには、ユーザーは該当する権限も持っ ていなければならず、さらに対応するオプションを指定している必要があり ます。例えば、 拡張属性を復元し、ACL を復元するには、–p を指定する必要があります。

拡張属性の詳細については、z/OS 拡張 USTAR サポートを参照してください。

-U
新しいテープ・アーカイブを –c オプションで作成する際 、tar が USTAR フォーマットを使用するようにします。新しいアーカイブを作成する際に使用される デフォルトのフォーマットは、元の UNIX tar フォーマットです。–c を指定しない場合、tar はテープ・アーカイブを読み 取り、それが USTAR フォーマットであるかどうかを推測することができます。したがって、U を使用し て USTAR フォーマットについての警告を抑制することができます。

外部リンク、 拡張属性、ファイル・タグ情報、ACL を保管するには、拡張 USTAR フォーマットを 使用する必要があります。拡張 USTAR フォーマットをオンにするには、-U-X オプションを 指定する必要があります。OS390 フォーマットを使用して (-S オプション)、 デフォルトですべてのファイル属性を保管することもできます。

-v
それぞれのファイル名を、アーカイブを処理する度に、適切なアクション・ キー文字と共に表示します。コマンドの –t 形式と共に、このオプション は、リストするアーカイブ・メンバーそれぞれについての詳細を提供 し、ls –l コマンドによって使用される形式と同じ形式で、メンバーに関する 情報を示します。–L type オプションも使用することができます。このオプションにより、拡張属性やファイル・タグ情報などの追加情報を表示できる ようになります。詳細は、出力を参照してください。
–V volpat
自動マルチボリューム・サポートを提供します。tar は、出力をファイルに書き込みます。ファイルの名前は、volpat を使ってフォーマットされています。volpat 内の # のオカレンスはすべて、現行のボリューム番号で置き換えられます。tar は、このオプション付きで呼び出されると、アーカイブ・セットの 最初の番号を入力するようにプロンプトを出し、数値とキャリッジ・リターン が入力されるまで待ってから、次の操作に進みます。tar はアーカイブで読み取りエラーまたは書き込みエラーが起きた場合、同じ種類のメッセージを出します。この種類のエラーは、tar がボリュームの終わりに 到達したので、新規のボリュームに進む必要があることを意味します。
-w
置換、抽出などの各操作を確認するために使用されます。tar は、関係した操作とファイルを表示します。ユーザーは次に、操作を行うかどうかを確認することができます。“y” で始まる応答を入力すると、tar に その操作を行うように命じることになります。その他の応答は、tar にその次の操作に進むように指示することになります。
-z
テープ・アーカイブの読み取りまたは書き込み、または読み取りおよび書き込み を、compress と互換性のある圧縮アルゴリズムを最初にパスすることによって行います。
制約事項: –r オプションと –z オプションを両方同時に指定することはできません。

出力

–t (目次) と共に –v または –L E (または–E) オプションを 使用すると、tar はアーカイブの詳細な目次を作成します。–L T オプションは さらに、ファイル・タグ情報を表示するのにも使用するか、または詳細出力なしに使用できます。 –v の出力は、以下の例外を除いて、ls –l コマンドからの出力と同じ です。
  • ハード・リンク、シンボリック・リンク、および外部リンクを表すために、以下の表記を使用します。
    hlink external link to origfile
    これは hlink が origfile への ハード・リンクであることを示します。
    slink symbolic link to origfile
    これは、slink が origfile への シンボリック・リンクであることを示します。
    elink external link to ORIG.FILE
    これは elink が ORIG.FILE への 外部リンクであることを示します。
  • シンボリック・リンクおよび外部リンクの場合、pax 出力は常に 0 のファイル・サイズ を示します。
ls –v の説明については、ls の説明を参照してください。
–L E (または –E) オプションからの出力は、–v と 同じフォーマットですが、さらに次の拡張属性を示す欄を表示します。
a
プログラムは AC=1 でリンクされていれば APF 許可で実行されます。
p
プログラムはプログラム制御であるととられます。
s
プログラムは共用アドレス・スペースで実行されます。
l
プログラムは共用ライブラリー領域からロードされます。
注: l は、i の大文字ではなく、L の小文字です。
属性は設定されていません。
tar –L E (または –E) 出力のフォーマットは可変長であり 、tar –v (ls –l) ではサポートされない追加のファイル特性を 表示するために必要に応じて拡張されます。
tar –L T の出力形式は、chtag –p からの 出力に類似しています。–v または –L E と一緒に指定すると、その出力は –v 出力と同一行上でその前に表示されます。–v を指定せずに使用した場合、ファイル・タグ情報とファイル名だけが 表示されます。例えば、以下のとおりです。
/tmp> tar -L T -tf asciitagged.tar
m ISO8859-1   T=off text_am
t ISO8859-1   T=on  text_at
- untagged    T=off text_au
このオプションは、–v または –o E のいずれか (あるいは両方) と一緒に使用されて、追加の詳細出力を表示します。例えば、以下のとおりです。
/tmp> tar -L T -tvf asciitagged.tar
m ISO8859-1  T=off -rw-r--r--  1 SteveS  Kings   9 Apr 30 22:31 text_am
t ISO8859-1  T=on  -rw r--r--  1 SteveS  Kings   9 Apr 30 22:31 text_at
- untagged   T=off -rw-r--r--  1 SteveS  Kings   9 Apr 30 22:06 text_au

アクセス制御リスト (ACL) の tar サポート

アーカイブの書き込みまたは作成: -X オプションが使用された場合、ACL データが USTAR フォーマットの アーカイブに保管されます。OS390 フォーマット (-S オプション) も ACL 情報を保管します。

tar –O を使用して特殊なヘッダーの作成を 無効にすることができます。このオプションを使用すると、tar が ACL データ、およびファイルのタグ・データや 長いリンク名などの標準以外の情報を格納しないようにすることが できます。ただし、ACL データだけの格納を無効にする オプションはありません。

アーカイブの読み取りまたは復元: デフォルトでは、アーカイブからのファイルの読み取りまたは 復元時に、ACL データは復元されません。ただし、USTAR フォーマットおよび OS390 フォーマットのアーカイブ の場合には、tar –A を使用して、ACL データを復元することができます。
アーカイブのリスト (目次): 詳細出力 (tar –v) では、拡張 ACL の付いたすべてのファイルについて、+ がファイル許可ビットの最後に追加されます。例えば、file2 および dir1 には、拡張 ACL エントリーが以下のように付きます。
> tar -tvf acldata.tar
-rwx------   1 STIERT   SHUT      294912 Nov  9 09:57 file1
-rwx------+  1 STIERT   SHUT      294912 Nov  9 09:57 file2
drwxr-xr-x+  2 STIERT   SHUT        8192 Mar 20  2000 dir1/

アクセス制御リストについて詳しくは、「z/OS UNIX System Services 計画」を参照してください。

使用上の注意

  1. ファイル名を検索するとき、マルチバイト・パターンを使用する必要がある場合は、pax コマンドを使用します。
  2. POSIX 1003.1 標準は、pax および tar アーカイブのフォーマットを定義して、リンク・ファイルのターゲットの長さを 100 文字以下に制限しています。
    注: ハード・リンクの場合、ターゲットはアーカイブされたハード・リンクの 最初のオカレンスになります。以後のハード・リンクは最初のインスタンスを 参照します。
    OS/390® リリース 6 からは、paxtar は 拡張 USTAR サポートおよび OS390 フォーマットを提供しています。これにより、これらの リンクは、アーカイブの作成時に保存され、アーカイブの読み取り時に復元 されます。詳細は、z/OS 拡張 USTAR サポートを参照してください。
  3. POSIX 1003.1 標準は、pax および tar アーカイブのフォーマットを 定義して、pax および tar アーカイブに保存できるファイルのサイズを 8 ギガバイト未満に制限します。 保存されるファイルが 8 ギガバイト以上の場合、エラー・メッセージが出され、 そのファイルはスキップされます。コマンドは続行しますが、 終了状況はゼロ以外になります。
  4. z/OS システムでは、キャラクター型スペシャル・ファイルの作成、ユーザー名とグループ名の復元、および特定の拡張属性の設定を 行うには、スーパーユーザー権限または該当する FACILITY クラスへの 読み取りアクセスが必要です。
  5. テープ・アーカイブ内のパス名の最大長は 100 バイトに制限されていますが 、USTAR (-U) および OS390(-O) フォーマットでは、パス名の長さは 255 バイトまで可能です。
  6. z/OS システムと他の UNIX システムとの間でアーカイブを転送する場合は、以下のことにご注意ください。
    1. ファイル (例えば、OPUT/OGET または ftp put/get を使用) は、必ず バイナリーまたはイメージのフォーマットで転送してください。テキスト・ファイルしか 入っていないアーカイブの場合などが、これに当てはまります。
    2. テキスト・ファイルは EBCDIC から ASCII (または他の文字セット) に変換する 必要がある場合があります。アーカイブの前後に iconv ユーティリティーを使用して、ファイルを変換することができます。テキスト・ファイルを作成または取り出すときに、pax –o のオプションを使用すると、ファイルを変換することができます。
  7. ファイル・タグ情報を持ったファイルに関する自動変換は、以下の場合は使用不可となります。
    • アーカイブ作成中のファイル読み取り
    • アーカイブからファイルの抽出時の書き込み中
    すなわち、自動変換をオンとオフにするシステム変数と環境変数の設定は、tar による ファイルの読み取りおよび書き込みに影響しません。pax はファイル・タグ・オプションを サポートします。これにより、ファイル・タグ設定に基づいたファイルの変換がサポートされます。

  1. 次のコマンドは、ディレクトリーを取って、それを圧縮フォーマットでアーカイブに入れます。
    tar –cvzf archive directory
  2. 先週 (7 日間) 変更されたすべてのファイルを識別し、それらを /tmp/posix/testpgm ファイルに保存するには、次のように入力します。
    find /tmp/posix/testpgm –type f –mtime –7 | tar –cvf testpgm.tar –

    –type –f は、find にファイルだけを選択するように伝えます。これにより 、tar への重複入力を避けることができます。

  3. 以下の例で、アーカイブ acidata.tar には、file1、file2、および dir1 が含まれています。file1 には ACL データがありません。file2 には、アクセス ACL があります。dir1 には、ファイルのデフォルト ACL、ディレクトリーのデフォルト ACL、および アクセス ACL があります。オプション –f だけを指定すると、出力は以下のようになります。
    > tar -f acldata.tar
    file1
    file2
    dir1
    –L A も指定すると、ACL 情報は以下のように 表示されます。
    > tar -L A -f acldata.tar
    file1
    file2
    user:WELLIE2:rw-
    group:SYS1:rwx
    最後に、詳細オプション –v を追加すると、ファイルと関連した chmod 設定が以下のように表示されます。
    > tar -L A -vf acldata.tar
    -rwx------   1 STIERT   SHUT      294912 Nov  9 09:57 file1
    -rwx------+  1 STIERT   SHUT      294912 Nov  9 09:57 file2
    user:WELLIE2:rw-
    group:SYS1:rwx
    drwxr-xr-x+  2 STIERT   SHUT        8192 Mar 20  2000 dir1/
    user:RRAND:rwx
    user:WELLIE2:rw-
    group:SHUT:rwx
    fdefault:user:RRAND:rwx
    fdefault:group:SHUT:r-x
    default:user:ANGIEH:rwx
    default:group:SYS1:r--

ローカライズ

tar は、以下のローカライズ環境変数を使用します。
  • LANG
  • LC_ALL
  • LC_MESSAGES
  • NLSPATH

詳しくは、ローカライズを参照してください。

終了値

0
正常終了
1
以下のいずれかによる失敗。
  • オプションが正しくない
  • コマンド行の引数が正しくない
  • メモリー不足
  • 圧縮エラー
  • 抽出の失敗
  • 作成の失敗

移植性

4.2BSD

–U オプションは、POSIX USTAR フォーマットの互換性を提供するための 拡張機能です。–p オプションは、BSD UNIX システムに共通の拡張機能で 、UNIX System V システムでは 利用できません。–O–X、および –S オプションも、POSIX 標準の拡張機能です。

関連情報

cpiopax

詳細 は、ファイル・フォーマットpax ファイル・ フォーマットの説明を参照してください。