tar:gzipファイルを除いてgunzipを試してはいけません。

tar:gzipファイルを除いてgunzipを試してはいけません。

tarファイルを抽出するときに大きなgzipファイルをスキップしたいのですが、tarが内部を見るために総圧縮を開始するたびに。

tarの内部を見ようとしても、次のように圧縮され始めるようです。

tar -tvf my.tar.gz --exclude="huge_mysql_file.gz"

このファイルを完全にスキップする方法はありますか? tarがgzファイルに達すると、gzipが実行されていることがわかります。

答え1

my.tar.gz圧縮タール文書。アスファルト「テープアーカイブ」の略です。したがって、まずファイルを解凍する必要がmy.tar.gzあります。gzip -dアスファルトファイルを読み取ることができます。 gzipファイルの内容にランダムにアクセスする方法はありません。私はgzipファイル形式についてはわかりませんが、少なくともgzipこれを行うオプションはありません。ファイルをtar解凍するために「gzip -d」が使用されていることがわかります。ファイルの圧縮は解除されませんが、gunzipにパイプされるので、ファイルを読み取って無視する必要があります。my.tar.gzgziptarhuge_mysql_file.gzhuge_mysql_file.gz

tar ファイルが gzip に圧縮されず、次のように内容をリストする場合

tar -tvf my.tar --exclude="huge_mysql_file.gz"

huge_mysql_file.gzサイズについては、アーカイブのヘッダーをお読みください。これにより、tarはそのファイルを読み取らずにスキップし、以下のファイル処理を続行できます。

関連情報