ちょっと便利。任意のサイズが指定可能なダミーファイル作成コマンド(Windows/Ubuntu)

こんにちは
脳みそは空データ
システムソリューション部のかわいです

先日、データ転送のトラブルシュート時に数十MBのテストデータが必要になりました。
こんな感じで、たまーに特定サイズのファイルが欲しくなる場面ってありますよね。
そんな時に役立つのがダミーファイルです。今回は、このダミーファイルをWindowsとUbuntu環境でコマンドから簡単に作成する方法を紹介します。

Windows編

■実行環境

Windows 11 Pro

Windowsではfsutilというコマンドを使うことで、好きなサイズのファイルをすぐに作ることができます。
例えば30MBの空ファイルを作りたい場合、コマンドプロンプトから以下のように実行します。
※うまく作成されない場合は管理者権限でコマンドプロンプトを実行します

fsutil file createnew testfile.txt 31457280

このコマンドでは、ファイルサイズをバイト単位で指定します。
30MB = 30 × 1024 × 1024 = 31,457,280バイト

ぴったり30MBのファイルができました▼

中身は「空」なのか?

fsutilコマンドで作成されたファイルを読み取ると、ファイルの内容はすべてゼロ(0x00)のデータとして返されます。これは、ファイル内に「ゼロ以外」のデータが含まれているわけではないという意味です。
正確には、読み取ったデータが16進数で見ると「0x00」の繰り返しであるため、ゼロデータのみが詰まったファイルのように見えます。

重要なのは、このゼロデータが実際にディスク上のブロックから読み出されるわけではないことです。
ディスク上には確かに領域が確保されていますが、そのデータは物理的に書き込まれていない未使用の領域であるため、実際にはディスクにアクセスせずに即座にゼロデータが返される仕組みになっています。

Ubuntu編

Linux環境では、fallocateコマンドが似た挙動を取ります。
例としてUbuntu環境で30MBのファイルを作るには以下のように実行します。

■実行環境

Ubuntu 24.04.2 LTS
$ fallocate -l 30M dummyfile.dat

▼中身を確認すると、先ほどと同様に「0x00」のバイト列を返します

$ less dummyfile.dat 
"dummyfile.dat" may be a binary file.  See it anyway? 

^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
....

-lオプションでサイズをMBやGBの単位で直接指定できるので、Windowsより簡単ですね

以上、OSごとに指定サイズの空ファイルを作成する方法でした!

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
5
読み込み中...
5 票, 平均: 1.00 / 15
2,379
X facebook はてなブックマーク pocket

この記事をかいた人

About the author

かわ けん

システムソリューション部所属
好奇心旺盛ポケ○ン