2.6.2 アーカイブの作成手順

ファイルblues、folk、jazzを、collection.tarというアーカイブに格納するには、次のコマンドを使います。

$ tar --create --file=collection.tar blues folk jazz

長いオプション形式を使う場合、引数の順序はそれほど重要ではありません。ただし、tarの最初の引数には必ずオプションを指定することを覚えておいてください。たとえば、次の指定は誤りです。

$ tar blues -c folk -f collection.tar jazz
tar: -c: Invalid blocking factor
Try 'tar --help' or 'tar --usage' for more information.

tarは、先頭にハイフンがなくても、最初の引数を常にオプション(またはオプションのまとまり)として扱うため、このエラーメッセージが出ます。これは伝統的形式、または旧オプション形式と呼ばれます。1970年代にtarアーカイバーが誕生して以来、すべてのtar実装で使われてきたことに由来する名前です。このオプション形式は後で説明します(旧オプション形式を参照)。今は、最初の引数には必ずオプションを置くと覚えておいてください。

この点を踏まえれば、次のコマンドも実行できます。

$ tar --create folk blues --file=collection.tar jazz

ただし、この順序では分かりにくくなります。そのため、本書ではコマンドを最も理解しやすい順序で引数を並べます(tarを使うときも、誤りを避けるために同様にすることをお勧めします)。

--file=collection.tarという並びは、1つの引数として扱われることに注意してください。collection.tarを他の文字列に置き換えると、その文字列が作成するアーカイブファイルの名前になります。

短い形式を使い始めると、オプションの順序がさらに重要になります。短い形式では、順序を間違えると、その他の点がすべて正しくても、予想外の結果になることがあります。そのため、自然で分かりやすい順序でオプションを入力する習慣を付けるとよいでしょう。詳しくは、createの短い形式を参照してください。

この例では、上に示したコマンドを入力します。--createは新しいアーカイブ(collection.tar)を作成する操作で、--fileは選んだ名前を付けるためのオプションです。ファイルblues、folk、jazzは、アーカイブcollection.tarのメンバーになりました(これらは--create操作へのファイル名引数です。詳しくはtarの対象ファイルと名前の選択を参照してください)。アーカイブに収まった後は、ファイルではなくアーカイブメンバーと呼びます(メンバーを参照)。

アーカイブを作成するときは、格納したいファイルを必ず指定してください。アーカイブメンバーを1つも指定しないと、GNU tarはエラーを表示します。

ここで作業ディレクトリの内容を一覧表示すると(ls)、以前からあったファイルに加え、アーカイブファイルも表示されます。

blues   folk   jazz   collection.tar

アーカイブ「collection.tar」を作成しても、ディレクトリ内にあるファイルのコピーは失われません。

操作を指定しないと、tarは実行せず、操作の指定を求めることを覚えておいてください。ファイル名を1つも指定しないと、tarはエラーを表示します。作業ディレクトリへの書き込み権限が必要で、権限がなければそのディレクトリにアーカイブを作成できません。

注意:既存のアーカイブにファイルを追加するために--create(-c)を使わないでください。既存のアーカイブを削除し、新しいアーカイブを書き込みます。代わりに--append(-r)を使ってください。既存アーカイブへのファイル追加:--appendを参照してください。