
基本的に、フォルダー構造の tar イメージを作成したいのですが、実際のファイルの内容は保存しません。そのため、ファイルを解凍すると、元のフォルダー、ファイル名、タイムスタンプなどを取得しますが、元のファイルの内容ではなく、すべて長さがゼロのファイルを取得します。
ここでの目的は、数ギガバイトの tar ファイルを作成せずに、巨大なフォルダー (サイズがギガバイト単位) のフォルダー構造をキャプチャすることです。
前もって感謝します。
答え1
もしあなたcp
が十分に強力、 あなたはこれを行うことができます:
cp -a --attributes-only olddir newdir
はnewdir
(まだ)存在せず--attributes-only
、
ソース ファイルの指定された属性のみを宛先にコピーします。[…]
これによってデータがコピーされることはありません。 の通常のファイルのnewdir
サイズは 0 になります。 すべての属性 (所有権など) を複製するには、root になる必要があるため、 が必要になる可能性があります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
すべてのファイルを 0 バイトのサイズのファイルに抽出します。
star -c -dump -meta ... | star -C todir -xmeta -force-hole
すべてのファイルを、データのない元のサイズのファイル (スパース ファイル) として抽出します。
star
schilytools の一部です。