このコマンドを使用してください:
dd if=$INPUT-FILE of=$OUTPUT-FILE bs=$BLOCK-SIZE count=$NUM-BLOCKS
大きな (空の) ファイルを作成するには、$INPUT-FILE=/dev/zero
を設定します。 .
ファイルの合計サイズは $BLOCK-SIZE * $NUM-BLOCKS
になります .
作成される新しいファイルは $OUTPUT-FILE
になります .
現代の方が簡単で速いです。 Linux の場合 (1 つ選択)
truncate -s 10G foo
fallocate -l 5G bar
必要 truncate
スパース ファイルをサポートするファイル システムでは、スパース ファイルと fallocate
が作成されます。 しない。スパース ファイルとは、ファイルを構成するアロケーション ユニットが 実際 ではないファイルです。 使用されるまで割り当てられます。ファイルのメタデータは ただし、かなりのスペースを占有しますが、ファイルの実際のサイズに近いほどではない可能性があります。このタイプのファイルには長所と短所があるため、詳細については、スパース ファイルに関するリソースを参照してください。非スパース ファイルには、そのブロック (アロケーション ユニット) が事前に割り当てられています。つまり、ファイル システムが認識する限り、スペースは予約されています。また、fallocate
truncate
でもありません ファイルの内容を指定された値に設定しません dd
、代わりに fallocate
で割り当てられたファイルの内容 または truncate
作成中に割り当てられたユニットに存在したゴミの値である可能性があり、この動作が望ましい場合と望ましくない場合があります。 dd
コマンドラインオプションで指定されたように、値またはデータのチャンクをファイルストリーム全体に実際に書き込むため、最も遅くなります。
この動作は、使用するファイル システムと、そのファイル システムが標準または仕様に準拠しているかどうかによって、異なる可能性があります。したがって、適切な方法が使用されるように、適切な調査を行うことをお勧めします。
小さなファイルの場合:
dd if=/dev/zero of=upload_test bs=file_size count=1
どこで file_size
は、テスト ファイルのバイト単位のサイズです。
大きなファイルの場合:
dd if=/dev/zero of=upload_test bs=1M count=size_in_megabytes
Tom の投稿をフォローアップするために、dd を使用してスパース ファイルを作成することもできます。
dd if=/dev/zero of=the_file bs=1 count=0 seek=12345
これにより、ほとんどの UNIX で「穴」のあるファイルが作成されます。データは実際にはディスクに書き込まれず、ゼロ以外のものが書き込まれるまでスペースを占有しません。