
WindowsやLinux環境で、ディスクの読み書き速度やネットーワーク送受信速度をテストするとき、テスト用のダミーファイルとして、大容量のファイル(数GB、数TB)や、大量のファイルが欲しいときがあります。
このようなとき、専用のダミーファイル作成ツールを利用するという手もありますが、標準搭載のコマンドでも簡単にダミーファイルを作成できます。
そこでここでは、WindowsやLinuxで任意のサイズや数のダミーファイルを作成する方法を紹介します。
目次
Windowsの場合
Windows環境では、fsutilコマンドを使って任意のサイズや数のダミーファイルを作成できます。fsutilコマンドは、次のように実行します。
> fsutil file createnew <ファイル名> <ファイルサイズ>ファイルサイズは、バイト単位で10進数か16進数で指定します。
指定したサイズのダミーファイルを作成
たとえば、10Gバイト(100×1024×1024×1024=107,374,182,40)のファイルを作成したいときは、次のように実行します。
> fsutil file createnew E:testfile.dat 10737418240ファイルが作成されると「ファイルXXXXXが作成されました」と表示されます。

指定した数のダミーファイルを作成
指定したサイズのファイルを大量に作成したい場合は、for文を組み合わせることで作成できます。たとえば、1Mバイトのファイルを1000個作成したいときは、次のように実行します。
> for /L %i in (1, 1, 1000) do fsutil file createnew E:testfile_%i.dat 1048576作成ファイルの留意点
fsutilコマンドでファイルを作成する場合、NTFSやReFSファイルシステム上であれば、巨大なファイルサイズでも、ほぼ一瞬で作成することができます。
これは、fsutilコマンドで作成されるファイルは、ディスク上で領域は確保されますが、実際にデータは書き込まれていないためです。
そのため、fsutilコマンドで作成したファイルは、そのままでは読み出し速度の測定などで利用しても意味はありません。
もし、読み出し速度の測定などで利用したい場合は、fsutilコマンドで作成したファイルを別のファイルとしてコピーすることで、実際にディスクに書き込まれ、テスト用ファイルとして利用できるようになります。
ちなみに、FAT32などのファイルシステムでは、fsutilコマンドでファイルを作成すると、実際にディスクへ書き込まれるため、ファイル作成にはファイルサイズに応じた時間がかかります。
参考:
Windows 10対応:巨大サイズのファイルを簡単に作る(fsutilコマンド編):Tech TIPS - @IT
Linuxの場合
Linux環境では、fallocateコマンドを使って任意のサイズや数のダミーファイルを作成できます。fallocateコマンドは、次のように実行します。
> fallocate -l <ファイルサイズ> <ファイル名>ダミーファイルの作成にはddコマンドを使う方法もありますが、ddコマンドはファイル作成の際に実際にゼロを書き込んで作成するらしく、ファイル作成の完了までに時間がかかるのでfallocateコマンドの使用をおすすめします。
指定したサイズのダミーファイルを作成
たとえば、ファイルサイズが10Mバイトのダミーファイルを作成したときは、以下のようにコマンドを実行します。
# fallocate -l 10M dummy.dat指定した数のダミーファイルを作成
指定したサイズのファイルを大量に作成したい場合は、for文を組み合わせることで作成できます。たとえば、10Mバイトのダミーファイルを50個作成したいときは、次のように実行します。
# for i in {1..50}; do fallocate -l 10M dummy_${i}.dat ; done