• ベストアンサー

アーカイブから指定したファイルだけを取り出したい

cgi-bin.tar.gz という、cgi-bin ディレクトリを丸ごと固めたファイルがあります。 この中から、cgi-bin/lib/ ディレクトリだけを取り出したいのですが、そういうことはできますでしょうか? 現在は tar -zxf で全てのファイルを取り出し、不要なファイルは削除する、というやり方をしているのですが、ファイルサイズが大きくなるにつれ、抽出にかかる時間もばかにならなくなってきたので、必要な部分だけを取り出せないものかと思った次第です。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • shige_70
  • ベストアンサー率17% (168/946)
回答No.1

ディレクトリの下のファイルやサブディレクトリも取り出すのであれば、   tar zxvf cgi-bin.tar.gz cgi-bin/lib とやればできます。 もっと複雑に、複数の特定のファイルを抜き出したいというような場合は、取り出したいファイルの一覧を作って渡す方法もありますが、今回は割愛します。興味があればtar(1)を見てください。 ちなみに、一部ファイルのみ取り出す場合もtarアーカイブを一旦すべてスキャンするため、処理時間の短縮はさほど期待できません。あとで削除する手間を省くとか、ディスクスペースが逼迫しているなどの場合は効果的です。

mone
質問者

お礼

回答ありがとうございます。こんな簡単にできるなんて知りませんでした。また、時間短縮は期待できないとのことでしたが、全部を抽出した時と比べて圧倒的に早く終了しました。(うれしい誤算でした!) 本当にありがとうございました。

関連するQ&A