Go to main content

マニュアルページ セクション 1: ユーザーコマンド

印刷ビューの終了

更新: 2022年7月27日
 
 

tar(1)

名前

tar - テープアーカイブの作成およびファイルの追加または抽出

形式

tar c[BDEFhijlnopPTvwzZ@/[0-7]][bf][X...] [blocksize]
     [tarfile] [size] [exclude-file]...
     {file | -I include-file | -C directory file}...
tar r[BDEFhijlnTvwzZ@/[0-7]][bf] [blocksize] [tarfile]
     [size]
     {file | -I include-file | -C directory file}...
tar t[BFhijlnTvzZ[0-7]][f][X...] [tarfile] [size]
     [exclude-file]... {file | -I include-file}...
tar u[BDEFhijlnTvwzZ@/[0-7]][bf] [blocksize] [tarfile]
     [size] file...
tar x[BFhilmnjopTvwzZ@/[0-7]][f][X...] [tarfile] [size]
     [exclude-file]... [file]...

説明

tar コマンドは、複数のファイルを tarfile と呼ばれる 1 つのファイルに保管したり、抽出したりします。A tarfile may be a magnetic tape or a file in the filesystem. tar's actions are controlled by the key argument.The key is a string of characters containing exactly one function letter (c, r, t, u, or x) and zero or more function modifiers (letters or digits), depending on the function letter used.key 文字列はスペース文字を含みません。機能修飾子に対する引数は key 文字列で使用した順序で コマンド行に指定します。

-I include-file-C directory filefile 引数は、どのファイルまたはディレクトリを保管または抽出するかを指定します。いずれの場合も、ディレクトリ名を使用すると、そのディレクトリのすべてのファイルやサブディレクトリを (再帰的に) 参照します。中括弧 ({ }) で囲まれた引数は、そのうちのどれか 1 つの引数を指定することを示します。

オペランド

次のオペランドがサポートされています。

-C directory file

Performs a chdir (see cd(1)) operation on directory and performs the c (create) or r (replace) operation on file.file には、短い相対パス名を使用します。file が「.」の場合、directory 内のすべてのファイルを保存します。このオペランドを使用すると、共通の親を持たない複数のディレクトリ内にあるファイルを保管できます。

-I include-file

1 行につき 1 つのファイル名からなるファイルの一覧を含んだ include-file をオープンし、各ファイルがコマンド行で 指定されたのと同様に処理します。include-file の行末に不要なスペースを置かないように注意してください。また、各行頭にも不要なスペースを置かないように注意してください。組み込むファイルの最初の文字列に対する一致には、改行で分かれている行全体が使用されます。除外されたファイルが存在する場合には (X 機能修飾子を参照)、除外されたファイルは組み込まれたファイルよりも優先されます。あるファイルが exclude-fileinclude-file の両方のファイル (またはコマンド行上) で指定されていれば、そのファイルは除外されます。

file

保存 (cr、または u機能を指定した場合) 、抽出 (x) 、または表示 (t) される通常ファイルまたはディレクトリのパス名。file がディレクトリのパス名である場合、アクションはそのディレクトリ以下のすべてのファイルと (再帰的に) サブディレクトリに適用します。

ファイルがアーカイブで、E フラグ (「機能修飾子」を参照) が指定されていない場合、ファイル名は 256 文字を超えることはできません。さらに、親ディレクトリ名との間を分割して考えると、ディレクトリ名部分は 155 文字、ファイル名部分は 100文字を超えることはできません。E フラグが指定されている場合、PATH_MAX で指定されている文字までファイル名に指定できます。

たとえば、ファイル名部分が 100 文字を超えるファイルは、E フラグを指定しないと保存されない可能性があります。ディレクトリ名部分が200 文字で、ファイル名部分が 50 文字であるファイルは、ディレクトリ名の 151 文字目から 156 文字目のどこかにスラッシュが 1 つ入っていれば、E フラグを指定しなくても保存されます。

機能文字

キーの機能部分は、次の文字のいずれか 1 つで指定します。

c

作成。tarfile の最初から書き込みます。最後からではありません。

r

置換。指定した file を tarfile の最後に書き込みます。拡張ヘッダーを付けて作成したファイルは、拡張ヘッダーを付けて更新する必要があります (「機能修飾子」の E フラグの説明を参照)。拡張ヘッダーなしで作成したファイルは、拡張ヘッダーを付けて修正することはできません。

t

内容の一覧表示。指定されたファイルがtarfile に検出されるごとに、ファイル名が表示されます。file 引数を指定していない場合は、tarfile のファイル名全部と関連する拡張属性が表示されます。v 機能修飾子をともに指定すると、指定したファイルの追加情報が表示されます。

u

更新。指定された file が tarfile にまだ入っていない場合、または最後に tarfile へ書き込まれて以来変更があった場合は、file は tarfile の最後に追加されます。更新には時間のかかる場合があります。SunOS 5.x システム上で作成されたtarfile は SunOS 4.x システム上では更新できません。拡張ヘッダーを付けて作成したファイルは、拡張ヘッダーを付けて更新する必要があります (「機能修飾子」の E フラグの説明を参照)。拡張ヘッダーなしで作成したファイルは、拡張ヘッダーを付けて修正することはできません。

x

Extract or restore.指定された file が tarfile から抽出され、( 現在のディレクトリからの相対パスで ) tarfile で指定されたディレクトリに書き込まれます。抽出するファイルとディレクトリには、相対パス名を使用してください。

デフォルトでは、絶対パス名 (/ 文字で始まる) の先頭のスラッシュは削除されるので、このようなファイルやディレクトリは現在のディレクトリと相対的に抽出されます。

P フラグを使用する場合、tar アーカイブに含まれる絶対パス名を復元するときには、絶対パス名を使用します。つまり、先頭のスラッシュ (/) は取り除かれません。

指定されたファイルが、ディレクトリで内容が tarfile に書き込まれている場合は、このディレクトリは再帰的に抽出されます。可能な場合、所有者、変更時間、およびモードが復元されます。それ以外の場合、所有者を復元するにはスーパーユーザーになる必要があります。文字型特殊およびブロック型特殊デバイス (mknod(8) によって作成されます) はスーパーユーザーだけが抽出できます。The Media Backup and Media Restore rights profiles allow running the tar command as the super-user.See the prof_attr(5) and user_attr(5) man pages for more information.

file 引数が指定されない場合は、tarfile の全体の内容を抽出します。tarfile に同じ名前のファイルが複数ある場合、各ファイルがパス名どおりのディレクトリに書き込まれ、それ以前のファイルを上書きします。アーカイブからファイルを抽出する場合は、ファイル名にワイルドカードを使用することはできません。この場合には、次の形式のコマンドを使用してください。

tar xvf ... /dev/rmt/0 `tar tf ... /dev/rmt/0 | \
     grep 'pattern' `

r または u 機能を使って作成した tarfile から抽出した場合、ディレクトリ修正時間が正しく設定されないことがあります。また、これらの機能は、バックスペースや追加などの機能がないというテープドライブの制限のために、多くのテープドライブでは使用できません。

ru、または x 機能、あるいは X 機能修飾子を使用する場合には、tarfile 中の対応するファイルとパス名が一致している必要があります。For example, to extract ./thisfile, you must specify ./thisfile, and not thisfile.t 機能はどのように各ファイルが保存されているかを表示します。

Function Modifiers

次の文字は、使用する機能文字に付けて使用します。

b blocksize

ブロック化因数。生の磁気テープアーカイブに読み取り、または書き込みを する場合に使用します (下記の f を参照) 。blocksize 引数では tarfile 上で実行した読み取りや書き込みの各操作で含まれる 512 バイトの テープブロックの数を指定します。最小は 1、デフォルトは 20 です。最大値は使用可能なメモリーの総量と使用するテープデバイス固有のブロック化条件によって決まります (詳細は mtio(4I) を参照)。最大値は INT_MAX/512 (4194303) を超えることはできません。

テープアーカイブを読み取る場合は、実際のブロック化因数が自動的に検出され、名目上のブロック化因数 (b 修飾子を指定していない場合は、blocksize 引数の値かデフォルト値) よりも少ないか、あるいは等しい値が割り当てられます。実際のブロック化因数が名目上のブロック化因数よりも大きい場合、結果は読み取りエラーになります。「使用例」の「例 5」を参照してください。

B

ブロック。tar は、(必要であれば) 複数の読み取り操作を実行し、ブロックを埋めるのに十分なバイト数だけを読み取ります。パイプやソケットは、それ以降の入力がある場合でもブロックを部分的に返すので、この機能修飾子は tar がイーサネットを介して動作することを可能にしています。標準入力 (-) から読み取る場合、tar がブロックを埋めるのに十分なバイト数を読み取れるようにこの機能修飾子がデフォルトで選択されます。

D

Data change warnings.cr、または u 機能文字と一緒に使用します。t または x 機能文字と一緒に使用した場合は、無視されます。ファイルのアーカイブ中にファイルのサイズが変わった場合には、この状態はエラーではなく警告と見なしてください。メッセージは書き込まれますが、終了ステータスには影響しません。

E

拡張ヘッダーを付けて tarfile を書き込みます (cru オプションで使用可能、t または x 機能文字と一緒に使用した場合は、無視されます)。tarfile が拡張ヘッダー付きで書き込まれた場合、その修正時間は秒単位ではなくマイクロ秒単位で続けられます。さらにファイル名の文字数が PATH_MAX 文字 (保存には E フラグが必要) 以下で、ファイルサイズが 8G バイトを超えるファイルの場合もサポートします。The E flag is required whenever the larger files and/or files with longer names, or whose UID/GID exceed 2097151, are to be archived, or if time granularity of microseconds is desired.

f

File.tarfile の名前として tarfile 引数を使用します。f を指定すると、/etc/default/tar を検索しません。f を省略した場合には、tar は TAPE 環境変数 (設定されている場合) が示すデバイスを使用します。そうでない場合、tar は、/etc/default/tar に定義されているデフォルト値を使用します。archiveN 文字列に一致する数字が出力デバイスとして、ファイル内のブロック化とサイズの指定とともに使用されます。たとえば、

tar -c 2/tmp/*

このコマンドは、/etc/default/tar において archive2 に指定されているデバイスに出力を書き込みます。

tarfile の名前が - である場合は、tar は標準出力への書き込みあるいは標準入力からの読み取りのいずれか適当な操作を行います。tar はパイプラインの先頭もしくは末尾として使用することができます。また、次のコマンドを使えば、tar は、ディレクトリ階層を移動するためにも使用することができます。

example% cd fromdir; tar cf − .| (cd todir; tar xfBp −)
F

F 引数を 1 つ指定すると、tar は tarfile から SCCS および RCS の名前のついたすべてのディレクトリを除外します。FF のように引数を 2 つ指定すると、tar は SCCS および RCS の名前のついたすべてのディレクトリ、接尾辞として .o を持つすべてのファイル、および errscorea.out という名前のファイルをすべて除外します。

h

シンボリックリンクをたどり、通常ファイルあるいはディレクトリとして扱います。通常、tar はシンボリックリンクをたどりません。

i

ディレクトリ・チェックサム・エラーを無視します。

j

c モードのみ。生成されたアーカイブを bzip2 で圧縮します。抽出またはリストモードでは、このオプションは無視されます。この実装では、アーカイブの読み取り時に bzip2 圧縮タイプが自動的に認識されます。アップグレード/置換は、まず圧縮解除してから、同じメカニズムを適用して自動的にアーカイブを圧縮します。

l

リンク。保管されるファイルのリンクで、tar が解決できないものがある場合、エラーメッセージを出力します。l が指定されない場合は、エラーメッセージは表示されません。

m

修正。ファイルの変更時間を抽出した際の時間に設定します。この機能修飾子は、x 機能とともに用いた場合のみ有効です。

n

テープデバイスにないファイルを読み込みます。tar は、アーカイブ内部を読み取り専用で探すことができるため、アーカイブの読み込みは速くなります。

o

Ownership.抽出されたファイルに、tarfile 上のユーザー識別子やユーザーのグループ識別子を使用する代わりに、プログラムを実行するユーザーのユーザー識別子や グループ識別子を割り当てます。これは、ルートではないユーザーに対してデフォルトで行われます。o 機能修飾子が設定されておらず、さらにユーザーがルートである場合、抽出されたファイルは、tarfile 上のファイルのグループ識別子とユーザー識別子を使用します (詳細は、chown(1) を参照)。o 機能修飾子は、x 機能とともに用いた場合のみ有効です。

p

現在の umask(1) を無視して、指定されたファイルを元のモード、および ACL が有効であれば、ACL を戻します。スーパーユーザーとして x 機能文字を指定して起動した場合は、これがデフォルトの動作になります。If super-user, setuid, and sticky information are also extracted, and files are restored with their original owners and permissions, rather than owned by root.この機能修飾子を、c 機能とともに使用した場合、ACL はほかの情報とともに tarfile に作成されます。ACL の入った tarfile が tar の前のバージョンによって抽出された場合、エラーが起こることがあります。

P

アーカイブ作成の場合、アーカイブのディレクトリエントリに最後の (/) を追加しません。

アーカイブ抽出の場合、パス名を保持します。デフォルトでは、アーカイブ抽出時に絶対パス名 (/ 文字で始まる) の先頭のスラッシュが削除されます。Also, tar refuses to extract archive entries whose pathnames contain a dot-dot (..).

このオプションは、これらの動作を無効にします。

T

When this modifier is used with the function letter c, r, or u for creating, replacing or updating a tarfile, the sensitivity label associated with each archived file and directory is stored in the tarfile.

T を指定すると、機能修飾子 p も指定されたものとみなされます。

文字 x とともに使用される場合は、Trusted Extensions が有効になっていると、次の制限が適用されます。

ターゲットディレクトリがラベル付きゾーン内にある場合、tar プログラムは、アーカイブで指定されたファイルの機密ラベルが宛先ディレクトリの機密ラベルに等しいことを確認します。等しくない場合、ファイルは復元されません。この操作は大域ゾーンから起動してください。

アーカイブ内のファイルが相対パス名を持つ場合、そのファイルは、同じラベルを持つ対応するディレクトリが使用できるときには、そのディレクトリに復元されます。これは、そのファイルに等しいラベルを持つゾーンのルートパス名を、現在の抽出先ディレクトリの前に付加することで実現されます。そのようなゾーンが存在しない場合、ファイルは復元されません。

Trusted Solaris 8 のラベル付きアーカイブの抽出については、限定されたサポートが提供されます。機密ラベルとマルチレベルディレクトリ指定のみが解釈されます。特権指定と監査属性フラグは自動的に無視されます。シングルレベルディレクトリへのシンボリックリンクを含むマルチレベルディレクトリ指定は、同じラベルを持つゾーンが使用可能な場合には、そのゾーンの相対パス名へとマップされます。このサポートの目的は、ホームディレクトリの移行を行いやすくすることです。アーキテクチャーが異なるため、Trusted Solaris 8 の任意のラベル付きファイルを Trusted Extensions の同一パス名に抽出することはできません。ファイルを抽出できるのは、そのアーカイブ上のラベルが抽出先のラベルに一致する場合だけです。

v

冗長。機能文字に続けて、各ファイル名を出力します。t 機能とともに使用すると、v は、tarfile エントリに関する詳しい情報も提供します。表示は ls(1) コマンドの –l オプションによる出力形式に似ています。

w

処理の指示。とるべきアクションとファイル名を出力し、ユーザーの確認を待ちます。応答が肯定である場合、このアクションが実行されます。そうでない場合にはアクションは行われません。この機能修飾子は、t 機能と同時には使えません。

X

除外。機能 cx、または、t を使用した場合に、tarfile から除外されるファイル (あるいはディレクトリ) の相対パス名のリストを収めたファイルとして、exclude-file 引数を使用します。include-file の行末に不要なスペースを置かないように注意してください。また、各行頭にも不要なスペースを置かないように注意してください。除外するファイルの最初の文字列に対する一致には、改行で分かれている行全体が使用されます。exclude-file 内の行は厳密に照合されます。したがって、tar が相対パス名をバックアップしている場合、「/var」のようなエントリを指定しても、/var ディレクトリは除外されません。このような状況では、エントリを「./var」と指定する必要があります。tar コマンドは、exclude-file 内にあるシェルのメタ文字を展開しません。したがって、「*.o」のようなエントリを指定しても、名前に接尾辞「.o」が付いたすべてのファイルを除外するような効果はありません。複雑なファイルのリストを除外する場合は、find(1) コマンドを適切な条件で使用するなどして、exclude-file を生成する必要があります。

引数 1 つにつき 1 つの exclude-file で、複数の X 引数を使用できます。この場合、組み込まれたファイルが存在する場合には (-I include-file オペランドを参照)、除外されたファイルは組み込まれたファイルよりも優先されます。あるファイルが exclude-fileinclude-file の両方のファイル (またはコマンド行上) で指定されていれば、そのファイルは除外されます。

z

c モードのみ。生成されたアーカイブを gzip で圧縮します。抽出またはリストモードでは、このオプションは無視されます。この実装では、アーカイブの読み取り時に gzip 圧縮タイプが自動的に認識されます。アップグレード/置換は、まず圧縮解除してから、同じメカニズムを適用して自動的にアーカイブを圧縮します。

Z

c モードのみ。生成されたアーカイブを compress で圧縮します。See compress(1).抽出またはリストモードでは、このオプションは無視されます。この実装では、アーカイブの読み取り時に compress 圧縮タイプが自動的に認識されます。アップグレード/置換は、まず圧縮解除してから、同じメカニズムを適用して自動的にアーカイブを圧縮します。

@

拡張属性をアーカイブに取り込みます。デフォルトでは、tar は拡張属性をアーカイブに取り込みません。このフラグを使用すると、tar はファイルが拡張属性を持っているかどうかを調べて、持っていれば、拡張属性をアーカイブに取り込みます。アーカイブにおいて、拡張属性は特殊な種類のラベルを持つ特殊なファイルとして格納されます。この修飾子を x 機能と一緒に使用すると、拡張属性は通常のファイルのデータと一緒にテープから抽出されます。拡張属性ファイルは、通常のファイルのデータの一部としてのみ抽出できます。拡張属性ファイルだけを明示的に抽出しようとすると無視されます。

/

拡張システム属性をアーカイブに取り込みます。デフォルトでは、tar は拡張システム属性をアーカイブに取り込みません。このフラグを使用すると、tar はファイルが拡張システム属性を持っているかどうかを調べて、持っていれば、拡張属性をアーカイブに取り込みます。アーカイブにおいて、拡張システム属性は特殊な種類のラベルを持つ特殊なファイルとして格納されます。この修飾子を x 機能と一緒に使用すると、拡張システム属性は通常のファイルのデータと一緒にテープから抽出されます。拡張システム属性ファイルは、通常のファイルのデータの一部としてのみ抽出できます。拡張属性ファイルだけを明示的に抽出しようとすると無視されます。

[0-7]

テープをマウントする代替ドライブを選択します。デフォルトは、/etc/default/tar に指定されています。数字または f 機能修飾子が指定されなければ、0 を持つ /etc/default/tar 中のエントリがデフォルトになります。

使用法

実際のブロック化因数の自動決定は、パイプやソケットからの読み取り時には正しく行われないことがあります (B 機能修飾子を参照)。

1/4 インチのストリームテープは 512 バイト単位のブロック化因数を持ちます。すべてのブロック化因数を使用して、読み取りまたは書き込みが可能です。

この機能修飾子は、ディスクファイルや ブロック型特殊デバイス上の アーカイブに対して動作しますが、主としてテープデバイス用を目的としています。

tar のヘッダー形式の情報については、archives.h(3HEAD) を参照してください。

使用例 1 ユーザーのホームディレクトリのアーカイブを作成する

tar を使用して、ドライブ /dev/rmt/0 にマウントされたテープにユーザーのホームディレクトリのアーカイブを作成する例を示します。

example% cd
example% tar cvf /dev/rmt/0 .
messages from tar

c 機能文字は、アーカイブの作成を意味します。v 機能修飾子は、tar の動作状況を説明するメッセージを出力します。f 機能修飾子は、tarfile を指定している (この例では /dev/rmt/0) ことを示します。コマンド行の最後のドット (.) は現在のディレクトリを示し、f 機能修飾子の引数になります。

次のコマンドで、 tarfile の内容の一覧を表示します。

example% tar tvf /dev/rmt/0

POSIX ロケールでは、次のように出力されます。

rw−r−−r−−   1677/40    2123    Nov  7 18:15 1985    ./test.c
...
example%

各カラムは次の意味を持ちます。

  • カラム 1 は、./test.c へのアクセス権

  • カラム 2 は、./test.c へのアクセス権

  • カラム 3 は、./test.c のバイトサイズ

  • カラム 4 は、./test.c の修正時刻。LC_TIME カテゴリが POSIX ロケールに設定されていない場合、形式や日付順フィールドが異なって使用されることがあります。

  • カラム 5 は、./test.c へのアクセス権

アーカイブから、ファイルを 抽出するためには、次を使用します。

example% tar xvf /dev/rmt/0
messages from tar
example%

テープ上に複数のアーカイブファイルがある場合は、それぞれのファイルは、 EOF マーカによって次のファイルと区切られます。tar を使用して複数のアーカイブファイルが入っているテープから 1 番目と 2 番目のアーカイブファイルを読ませる場合、以下のように f 機能修飾子として渡すテープデバイス名は non-rewind 指定のある方を使用してください。

example% tar xvfp /dev/rmt/0n read first archive from tape
messages from tar
example% tar xvfp /dev/rmt/0n read second archive from tape
messages from tar
example%

以前のリリースでは、前述の処理が正しく動作しなかったり、mt(1)tar の実行との間に調整が必要になったりする場合が ありますので注意してください。以前のリリースでの動作をエミュレートするには、BSD 用の動作を行う b 文字を含んだ non-rewind のデバイス名を 使用してください。詳細については mtio(4I) マニュアルページの「Close Operations」の項を参照してください。

使用例 2 Archiving Files to Default Tape Drive 0

デフォルトのテープドライブ 0/usr/include のファイルおよび /etc のファイルを保存するためには、次を使用します。

example% tar c -C /usr/include -C /etc .

このコマンドによって保存された tarfile からの内容の一覧を表示すると、たとえば次のようになります。

include/
include/a.out.h
and all the other files in /usr/include ...
./aliases and all the other files in /etc 

include の下にあるすべてのファイルを抽出するためには、次を使用します。

example% tar xv include
x include/, 0 bytes, 0 tape blocks \
and all files under include ...
使用例 3 ネットワークを介してのファイルの転送

tar を使用して、ネットワークを介してファイルを転送する例を示します。最初に、ローカルマシン (example) からリモートシステム (host) 上のテープへファイルを保管する方法を示します。

example% tar cvfb − 20 files | \
    ssh host dd of=/dev/rmt/0 obs=20b
messages from tar
example%

In the example above, we are creating a tarfile with the c key letter, asking for verbose output from tar with the v function modifier, specifying the name of the output tarfile using the f function modifier (the standard output is where the tarfile appears, as indicated by the - sign), and specifying the blocksize (20) with the b function modifier.ユーザーがブロックサイズを変更したい場合は、ユーザーは、tar コマンドおよび dd コマンド両方のブロックサイズ引数を変更する必要があります。

使用例 4 Retrieving Files from a Tape on a Remote System

次に、tar を使用して、リモートシステム上のテープから ローカルシステムへファイルを戻す例を示します。

example% ssh -n host dd if=/dev/rmt/0 bs=20b | \
    tar xvBfb − 20 files
messages from tar
example%

In the example above, we are extracting from the tarfile with the x key letter, asking for verbose output from tar with the v function modifier, telling tar it is reading from a pipe with the B function modifier, specifying the name of the input tarfile using the f function modifier (the standard input is where the tarfile appears, as indicated by the - sign), and specifying the blocksize (20) with the b function modifier.

使用例 5 ホームディレクトリのアーカイブの作成

次に実際のブロック化因数を 19 にして /dev/rmt/0 上にホームディレクトリのアーカイブを作成する例を示します。

example% tar cvfb /dev/rmt/0 19 $HOME

b 機能修飾子を使用しないでアーカイブの実際のブロック化因数を 認識するためには、次を使用します。

example% tar tvf /dev/rmt/0
tar: blocksize = 19
...

実際のブロック化因数 よりも大きい名目上のブロック化因数を使用して、アーカイブの実際のブロック化因数を 認識するためには、次を使用します。

example% tar tvf /dev/rmt/0 30
tar: blocksize = 19
...

実際のブロック化因数に対して 小さすぎる名目上のブロック化因数を使用して、アーカイブの実際のブロック化因数を 認識しようとした場合は次のようになります。

example% tar tvf /dev/rmt/0 10
tar: tape read error
使用例 6 圧縮アーカイブの作成

次の例では、bzip を使用して圧縮アーカイブを作成します。

example% tar cjf tarfile /tmp/*

圧縮ファイルの名前は tarfile.bz2 です。

この場合、代わりに次のコマンドシーケンスを使用しても、同じ圧縮アーカイブが作成されます。

example% tar cf tarfile /tmp/*
example% bzip2 tarfile

ただし、中間ファイルの作成および削除は行われません。機能修飾子 z および Z も同様に動作しますが、それぞれ gzip および compress を使用します。

次の例では、compress を使用して圧縮アーカイブを作成します。

example% tar cZf tarfile /tmp/*

圧縮ファイルの名前は tarfile.Z です。

次の例では、gzip を使用して圧縮アーカイブを作成します。

example% tar czf tarfile /tmp/*

圧縮ファイルの名前は tarfile.gz です。

使用例 7 圧縮アーカイブからのファイルの抽出

The following examples each extract files from a compressed archive.

For archives compressed using bzip2 compression mode:

example% tar xvf tarfile.bz2
example% tar xvfj tarfile.bz2
example% bzcat tarfile.bz2 | tar xvf -

compress 圧縮モードを使用してアーカイブを圧縮した場合

example% tar xvf tarfile.Z
example% tar xvfZ tarfile.Z
example% zcat tarfile.Z | tar xvf -

gzip 圧縮モードを使用してアーカイブを圧縮した場合

example% tar xvf tarfile.gz
example% tar xvfz tarfile.gz
example% gzcat tarfile.gz | tar xvf -

環境変数

TMPDIR

デフォルトでは、一時ファイルは /tmp に作成されます。それ以外の場合、tar は TMPDIR で指定したディレクトリを使用します。

See environ(7) for descriptions of the following environment variables that affect the execution of tar: LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_TIME, TZ, and NLSPATH.

肯定応答は、ユーザーのロケールの LC_MESSAGES カテゴリの yesexpr キーワードで定義されている拡張正規表現を使用して処理されます。LC_COLLATE カテゴリに指定されているロケールは、yesexpr に定義されている式に使用される範囲、同等クラス、および複数文字照合要素の動作を定義します。LC_CTYPE に指定されているロケールは、テキストデータのバイト列を文字として解釈するロケールや、yesexpr に定義されている式に使用される文字クラスの動作を定義します。locale(7) を参照してください。

終了ステータス

次の終了ステータスが返されます。

0

正常終了。

> 0

エラーが発生しました。

ファイル

  • /dev/rmt/[0-7][b][n]

  • /dev/rmt/[0-7]l[b][n]

  • /dev/rmt/[0-7]m[b][n]

  • /dev/rmt/[0-7]h[b][n]

  • /dev/rmt/[0-7]u[b][n]

  • /dev/rmt/[0-7]c[b][n]

  • /etc/default/tar

/etc/default/tar の設定は次のようになります:

archive0=/dev/rmt/0
archive1=/dev/rmt/0n
archive2=/dev/rmt/1
archive3=/dev/rmt/1n
archive4=/dev/rmt/0
archive5=/dev/rmt/0n
archive6=/dev/rmt/1
archive7=/dev/rmt/1n

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

属性タイプ
属性値
使用条件
system/core-os
CSI
有効
インタフェースの安定性
確実

関連項目

ar(1), basename(1), bzip2(1), cd(1), chown(1), compress(1), cpio(1), csh(1), dirname(1), find(1), gzip(1), ls(1), mt(1), pax(1), umask(1), archives.h(3HEAD), mtio(4I), attributes(7), environ(7), fsattr(7), mknod(8)

診断

キー文字の誤りとテープ読み取り/書き込みエラー、およびリンクテーブルを保持する十分なメモリーがないという 診断メッセージが出力されます。

ファイルの n 番目に現れるものをアクセスする方法がありません。

テープエラーの処理は不十分です。

tar アーカイブ形式ではアーカイブヘッダーにユーザー ID およびグループ ID を 2097151 まで格納することができます。Files with UIDs and GIDs greater than this value are archived with the UID and GID of 60001.

アーカイブを作成するときに、複数のロケールで実行している処理によってファイル名を作成したファイルを含んでいる場合、アーカイブの作成とアーカイブからのファイルの抽出のどちらも、フル 8 ビットコードセットを使用するロケール (たとえば、en_US ロケール) 上で使用すべきです。

1/4 インチのアーカイブテープ用のテープドライブはバックスペースできないので、このようなテープでは r オプションと u オプションは使用できません。

Since tar has no options, the standard -- argument that is normally used in other utilities to terminate recognition of options is not needed.tar に指定した場合、この引数は最初の引数として認識されるだけで、無視されます。

Since -C directory file and -I include-file are multi-argument operands, any of the following methods can be used to archive or extract a file named -C or -I:

  1. これらのファイルを、スラッシュ (/) 文字を含む file オペランドとしてコマンド行に指定します。たとえば、「/home/joe/-C」や「./-I」です。

  2. これらのファイルを含む include-file を作成して、-I include-file オプションで指定します。

  3. これらのファイルが存在するディレクトリを指定します。

    -C directory -C

    または

    -C directory -I
  4. これらのファイルが存在するディレクトリ全体を指定します。

    -C directory .