次のアーカイブディレクトリがあります。
itunes20140618.tbz
ここから名前が次のような単一のファイルを抽出したいと思います。
itunes20140618/video
どうすればいいですか?
これまで私がやっていること
$ bzip2 -d /tmp/itunes20140618.tbz
しかし、すべての内容を含むtarディレクトリを作成するようです。単一のビデオファイルをどのように抽出しますか?
現在のtarを介してファイルを抽出すると、約1分かかり、tarアーカイブの読み取りが完了している間にさらに20分間「中断」されます。これを改善する方法についてのアイデアはありますか?
ベストアンサー1
tar -xvjf itunes20140618.tbz itunes20140618/video
この場合、これを行うことができます。しかし、さらに助けが必要な場合:
info tar
特定のアーカイブメンバーを抽出するには、printsなどの正しいメンバー名を引数として指定します
--list (-t)
。以前にアーカイブに入れたファイルの1つcollection.tar
(例blues
:)を誤って削除した場合は、アーカイブの構造を変更せずにアーカイブからそのファイルを抽出できます。その内容はblues
削除した元のファイルと同じです。まず、そのディレクトリにあることを確認し、
practice
そのディレクトリにあるファイルを一覧表示します。今すぐファイルを削除し、blues
ディレクトリ内のファイルを再リストします。
blues
これで、次のようにアーカイブファイル "collection.tar"からメンバーを抽出できます。
$ tar --extract --file=collection.tar blues
ディレクトリ内のファイルを再リストすると、ファイルが
blues
元の権限、データ変更時間、所有者に復元されたことを確認できます。 (これらのパラメータは、元のファイルをアーカイブに配置したときと同じです。ただし、ファイルシステムからファイルを削除する前に行った変更は、アーカイブメンバーには適用されません。) 圧縮ファイルはcollection.tar
解凍前と同じですblues
。を実行してtar
これを確認できます--list (-t)
。