デフォルトでは、フォルダ構造のtarイメージを作成したいが、実際のファイルの内容は保存しません。したがって、ファイルを解凍するときは、元のフォルダ、ファイル名、タイムスタンプなどを取得したいのですが、元のファイルの内容の代わりに長さがすべてゼロのファイルを取得したいと思います。
ここでの目的は、数ギガバイトサイズのtarファイルを作成せずに、巨大なフォルダ(ギガバイトサイズ)のフォルダ構造をキャプチャすることです。
よろしくお願いします。
答え1
あなたならどうですかcp
?十分に強い、次のようにすることができます。
cp -a --attributes-only olddir newdir
newdir
まだ存在しない場所と--attributes-only
意味
ソースファイルの指定された属性のみをターゲットにコピーします。 [… ]
これはデータをコピーしません。一般ファイルのnewdir
サイズは0です。すべての属性(所有権など)をコピーするにはルートである必要があるため、必要になる場合がありますsudo cp …
。代わりに、-a
より具体的なオプションを使用して、実際に必要な属性のみをコピーできます。
とにかくnewdir
空のインクルードファイルを生成したtar
後olddir
。
答え2
star
18年間これをサポートしてきました...試してみてください。
star -c -dump -meta ... | star -tv
これはすべての項目を「m」etaタイプファイルとしてリストします。
star -c -dump -meta ... | star -C todir -xmeta
すべてのファイルをゼロバイトサイズのファイルに抽出します。
star -c -dump -meta ... | star -C todir -xmeta -force-hole
すべてのファイルをデータなしで元のサイズに抽出します(スパスファイル)。
star
schilytoolsの一部です。