tarコマンド覚書

よく使うオプション

-c : 新しいアーカイブを作成する
-x : アーカイブからファイルを抽出する
-v : 処理したファイルの一覧を詳しく出力する
-f : ARCHIVE というアーカイブ・ファイルまたはデバイスを使う
-z : gzip を経由してアーカイブをフィルタする
-j : bzip2 を経由してアーカイブをフィルタする
-t : アーカイブの内容の一覧を表示する
-k : 上書きしない
--exclude : 除外

tar -cvf xxx.tar xxx
ファイル xxx から xxx.tar を作成する

tar -xvf xxx.tar
xxx.tar を展開する。

tar -tvf xxx.tar
xxx.tar の内容を確認する。

事例

ディレクトリ構造のみアーカイブする。

$ tar -cvf ~/xxx.tar --exclude "*.*" xxx


Solarisでは上記方法ではうまくいかないみたい。
cpioを使用する。
アーカイブ
$ find xxx -type d | cpio -ov > xxx.cpio
解凍
$ cpio -ivd < xxx.cpio


除外したい

アーカイブに固める時、もしくは解凍する時に除外する方法
$ tar xvf hogehoge.tar --exclude="aaa"

※除外対象が多い場合、ファイルにできる。その際は--exclude-from=(filename)を使用する。
※aaa/ディレクトリ以下を除外する場合、--exclude="aaa/"と書くと除外できない。--exclude="aaa"と書くとうまくいく。
※解凍時の除外テストは -tvfオプションと組み合わせるとできる。
$ tar -tvf hogehoge.tar --exclude="aaa"


備考

ハイフンはつけなくても実行可能。
しかし、下記のような場合は、必要
http://oshiete.goo.ne.jp/qa/4398376.html
http://kiyotakagoto.blog3.fc2.com/blog-entry-8.html

おすすめの記事