WindowsやLinuxで任意のサイズや数のダミーファイルを作成する方法

WindowsやLinuxで任意のサイズや数のダミーファイルを作成する方法。

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が作成されました」と表示されます。

WindowsやLinuxで任意のサイズや数のダミーファイルを作成する方法。

指定した数のダミーファイルを作成

指定したサイズのファイルを大量に作成したい場合は、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