というファイルを生成したいですexample.file
。使用できます。
touch example.file
しかし、ファイルサイズを正確に24MBにしたいと思います。タッチのマンページを確認しましたが、対応するパラメータはありません。特定のサイズのファイルを生成する簡単な方法はありますか?
答え1
ddが利用可能です:
dd if=/dev/zero of=output.dat bs=24M count=1
または
dd if=/dev/zero of=output.dat bs=1M count=24
またはMacでは
dd if=/dev/zero of=output.dat bs=1m count=24
答え2
組み込まれていないLinuxまたはCygwin(またはGNU coreutilsを持つすべてのシステム)とFreeBSDで:
truncate -s 24m example.file
これにより、ヌルバイトでいっぱいのファイルが生成されます。ファイルがすでに存在し、小さい場合は、nullバイトを使用して要求されたサイズに拡張します。ファイルがすでに存在し、大きい場合は、要求されたサイズに切り捨てられます。
NULLバイトはディスク容量を占有せず、ファイルはスパースファイル。
多くのシステムでは、head -c 24m </dev/zero >example.file
ヌルバイトで埋められた非希少ファイルを作成します。このオプションがシステムでhead
利用できない場合-c
(通常はPOSIXには存在しません)、dd bs=1024k count=24 </dev/zero >example.file
これを使用できます(POSIX互換)。
答え3
ファイルの内容を気にしない場合は、以下を使用するよりもはるかに高速ですdd
。
fallocate -l 24M filename
明らかに、dd
最新のシステムでは24MBのファイルで作業するのに時間がかかりませんが、大きなファイルは著しく遅くなる可能性があります。
答え4
引用するその他の要約:
- カット
truncate -s 24M example.file
- エラー位置
fallocate -l $((24*1024*1024)) example.file
- 頭
- ランダムデータ
head -c 24MB /dev/urandom > example.file
- ゼロデータ
head -c 24MB /dev/zero > example.file
- ランダムデータ
- DD
dd if=/dev/urandom of=example.file bs=24MB count=1
dd if=/dev/urandom of=example.file bs=4MB count=6