example.file
という名前のファイルを生成したいのですが。私は使うことができた
touch example.file
しかし、ファイルのサイズをちょうど24MBにしたいと思います。 touchのマンページは確認済みですが、このようなパラメーターはありません。特定のサイズのファイルを生成する簡単な方法はありますか?
あなたは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
非組み込みのLinuxまたはCygwin(またはGNU coreutils)を備えたシステム)およびFreeBSDの場合:
truncate -s 24m example.file
これにより、nullバイトでいっぱいのファイルが作成されます。ファイルがすでに存在し、サイズが小さい場合は、nullバイトで要求されたサイズに拡張されます。ファイルがすでに存在し、サイズが大きい場合は、要求されたサイズに切り捨てられます。
Nullバイトはディスク領域を消費しません。ファイルは スパースファイル です。
多くのシステムでは、head -c 24m </dev/zero >example.file
はnullバイトでいっぱいの非スパースファイルを作成します。システムにhead
に-c
オプションがない場合(一般的ですが、POSIXではありません)、代わりにdd bs=1024k count=24 </dev/zero >example.file
を使用できます(これはPOSIXに準拠しています)。
ファイルの内容を気にしない場合は、dd
を使用するよりもはるかに高速です。
fallocate -l 24M filename
明らかに、24MBのファイルにdd
を使用しても、最近のシステムでは時間がかかりませんが、大きなファイルは著しく遅くなる可能性があります。
あなたはddを使うことができます:
dd if =/dev/zero of = outputfile.out bs = 1024k count = 24
または、たまたまSolarisを使用している場合
mkfile 24m outputfile.out
FROM_NODE=N01;
echo; cd $MOUNT_PATH; pwd; ls -la; sleep 1; echo;
WHEN="$(date +%Y-%m-%d_%H-%M-%S)";
fallocate -l 10M $MOUNT_PATH/"$FROM_NODE"_"$WHEN".dump
ls -lha; echo;