Diff of UNIX/コマンド/圧縮、アーカイブ/tar


TITLE:tar - アーカイバ
#navi(UNIX/コマンド)
#contentsx

tar コマンドはアーカイバと呼ばれるもので、複数のファイルを1つにまとめます。
会津大学での /usr/bin/tar よりも /usr/local/bin/tar (GNU tar) のほうが高機能です。
/usr/local/bin/gtar も同様に (GNU tar) です。

生成するファイルの拡張子は .tar にしましょう。
 % tar cvf [tar_file] [file ....] 
[file ...] で指定したファイル群を [tar file] で指定したファイルにアーカイブします。
 % tar cvf [tar_file] [directory] 
[directory] で指定したディレクトリ以下のファイルを再帰的に [tar_file] にアーカイブします。会津大学の /usr/bin/tar コマンドでは、bin/ のようにディレクトリ名に / をつけるとだめなようです。/usr/local/bin/tar を使いましょう。
[directory] で指定したディレクトリ以下のファイルを再帰的に [tar_file] にアーカイブします。会津大学の /usr/bin/tar コマンドでは、[directory] の最後に / をつけてしまうとうまく動かないようです。/usr/local/bin/tar を使いましょう。
 % tar xvf [tar_file] 
とすると、解凍といいますか、抽出することができます。
 % tar xvf [tar_file] -C [directory]
とやると指定先ディレクトリに解凍できます。
これもまた /usr/bin/tar ではうまくいきませんでした。
やはり /usr/local/bin/tar を使いましょう。
 % tar tvf [tar_file]
とすると一覧を表示します。

また、GNU tar では
 % tar zxvf [.tar.gz]
とすると、.tar.gz なファイルを一度に解凍できます。もちろん c で作成もできます。
これは、gzip コマンドと併用して、
 % gzip -dc [.tar.gz] | tar xvf -
のようにすることもできます。- というのは標準入力を引数とするという意味です。
さらに GNU tar では、
 % tar jxvf [.tar.bz2]
とすると、.tar.bz2 なファイルを一度に解凍できます。もちろん c で作成もできます。
これは、bzip2 コマンドと併用して、
 % bzip2 -dc [.tar.bz2] | tar xvf - 
のようにすることもできます。

このくらいで十分だと思いますが、機能、オプションの一覧を載せておきます。

*機能 (必ず1つだけ指定しなければならない) [#i701107e]

|c|作成。|
|r|追加。|
|u|更新。指定したファイルが tar_file よりも新しい場合、更新します。tar_file にない場合は r と同様になります。|
|t|リスト表示。ファイルを指定すると tar_file にそのファイルがあるかどうかを調べます。指定しない場合は、tar_file 中のすべてのリストを表示します。|
|x|抽出。ファイルを指定すると tar_file からそのファイルを抽出します。'*.txt' のようにワイルドカードを使用することもできます。指定しない場合はすべてのファイルを抽出します。|

*オプション [#cdd477b2]

|f|.tar ファイルを指定します。つまり毎回指定する必要があります。f を使用しない場合は テープドライブが指定されます。|
|v|冗長出力。処理したファイルの一覧を作業中に表示します。t 機能とともに使用すると、tar_file に格納されているファイルの詳しい情報も提供します。表示は ls(1) コマンドの -l オプションによる出力形式に似ています。|
|h|そのファイルがシンボリックリンクの場合、そのファイルが指し示す実体ファイルを扱います。通常、tar はシンボリックリンクをたどりません。|
|w|処理の指示。とるべき処理とファイル名を出力し、ユーザーの確認を待ちます。応答が肯定である場合、この動作が実行されます。そうでない場合には処理は行われません。例えば、x 機能(抽出)と共に使えば、取り出したいファイルだけを取り出せるようになります。この機能修飾子は、t 機能と同時には使えません。|
|C|tar ファイルを展開するディレクトリを指定します。|
|Z|compress で圧縮・伸長する。.tar.Z なファイルを一度に展開することができます。|
|z|gzip で圧縮・伸長する。.tar.gz (or .tgz) なファイルを一度に展開することができます。サポートしているのは GNU tar だけです。(gzip -dc [.tar.gz] &bar; tar xvf - でも可)|
|j|bzip2 で圧縮・伸長する。.tar.bz2 ファイルを一度に展開することができます。サポートしているのは GNU tar だけです。(bzip2 -dc [.tar.bz2] &bar; tar xvf - でも可)|

#navi(UNIX/コマンド,,footer)
xrea