tarの使い方

tarボールが大きくて全てを解凍するとディスクを圧迫してしてしまったり時間がかかるんで、てっとり早く内容の確認や一部分だけ解凍したい場合がある。tarボールを単純に解凍するってのはよく行うので、オプションを忘れることはないが、内容の確認や一部分だけ解凍のオプションは結構忘れて、・・・どうだったっけってなるんでメモ。

書庫ファイルの内容確認

圧縮されている場合にも,詳細を見るオプションは使用できる.
gzip圧縮の場合には以下のようになる

$ tar ztvf backup.tar.gz
 -rw-r--r-- userA/staff   5109 2003-01-14 18:30:01 a.html
 -rw-r--r-- userA/staff 132857 2003-01-14 18:30:03 b.html
 -rw-r--r-- userA/staff  28192 2003-01-14 18:30:03 c.html
...

書庫ファイル内の特定のファイルだけ取り出す

なお,書庫ファイル内の特定のファイルだけ取り出すこともできる.以下の例は書庫ファイル内にある"c.html"を取り出す時には以下のように実行する.

$ tar zxvf backup.tar.gz c.html
c.html

つまり,書庫ファイルのあとに取り出したいファイル名を指定すればいいのである.

特定のディレクトリ配下だけを展開する

なお同様に特定のディレクトリ配下だけを展開することもできる.
例えば,以下のような書庫ファイルがあるとする.

$ tar ztf backup.tar.gz
update/
update/Makefile
update/RCS/
update/RCS/a.html,v
update/RCS/Makefile,v
update/a.html

このような書庫ファイルからRCSという名のディレクトリ配下のファイルだけ展開したいとする.そのような場合には以下のようにする.

$ ls -CF
backup.tar.gz 
$ tar ztvf backup.tar.gz update/RCS
update/RCS/
update/RCS/a.html,v
update/RCS/Makefile,v
$ ls -CF
backup.tar.gz   update/

つまり,書庫ファイルの後に展開したいディレクトリの名称を指定すればいいのである.
同様に,ある特定ディレクトリ配下の特定ファイルだけを展開することも可能である.
このようにして展開されたファイル群は,カレントディレクトリ配下の "update/RCS"というディレクトリに格納される.つまり,カレントディレクトリにそれらのファイルが展開されるのではなく,書庫に格納されていた通りにディレクトリが作成され、そのディレクトリ内にファイルが展開されるのである.これは勘違いしないようにしたい.

※実際に解凍する場合は以下のようにする

$ tar xzvf backup.tar.gz update/RCS
update/RCS/
update/RCS/a.html
update/RCS/Makefile