tar --listは効率的ですか?

tar --listは効率的ですか?

私は以前尋ねました。マルチボリュームアーカイブのインデックスを作成する方法。質問には、次のようにtar --listボリュームに書き込んだ後、すべてのデータを再度読み取る必要があるという前提が含まれています。

しかし、これは本当ですか?すべてのバイトを再読み込みする必要がありますか?それとも、GNU tarがアーカイブメンバーを見つけてアーカイブの内容を非常にすばやく一覧表示するのに十分スマートですか?

35GBのtarファイルでいくつかのテストを行いましたが、結果(2秒で完了)が--list実際に高速であることがわかりました。しかし、私のテスト方法を完全に信頼しておらず、キャッシュや他のものの影響を排除することはできません。わかりません。

答え1

アーカイブを検索できる場合は、tarアーカイブをスキップするために使用されます。したがって、アーカイブが圧縮されていないファイルの場合は、あるtar --listヘッダーから次のヘッダーに移動して、ファイルを非常に迅速に処理します。

-nオプションも参照してください。 (そしてtarマンページ.)

関連情報