サイトアイコン スグブログ

【Linux】任意のサイズでファイルを作成する方法!検証に使えます。

sweets

Linuxサーバーで任意のサイズでファイルを作成したい場合はないでしょうか?

検証などで大きなファイルが欲しいという時に便利です。負荷検証などでよく使用します。

Linuxサーバーで任意のサイズのファイルを作成する方法

Linuxサーバーで任意のサイズのファイルを作成する方法は、ddコマンドを使用します。

1Gのファイルサイズを作成するコマンド

dd if=/dev/zero of=1G.dummy bs=1M count=1000

3Mのファイルサイズを作成するコマンド

dd if=/dev/zero of=3M.dummy bs=1M count=3

bsの部分とcountの部分を変更して、サイズを変更できます。

ofの部分はファイル名を入力します。

Linuxのddコマンドの詳細

Linuxのddコマンドは以下のオプションに従いコピーしてくれます。

ddコマンドのオプション
  • if=入力ファイルやソースファイル
  • of=出力ファイル
  • bs=繰り返すファイルサイズ
  • count=繰り返し回数

実際に任意のサイズのファイルを作成してみる

3Mサイズのファイルを作成してみます。

[root@localhost ~]# dd if=/dev/zero of=3M.dummy bs=1M count=3
3+0 レコード入力
3+0 レコード出力
3145728 バイト (3.1 MB) コピーされました、 0.00410684 秒、 766 MB/秒

作成されました。lsコマンドとgrepコマンドを使用して確認してみます。

[root@localhost ~]# ls -lh | grep 3M.dummy
-rw-r--r--   1 root root 3.0M  5月 27 12:23 3M.dummy

duコマンドでもファイルサイズを確認できます。

[root@localhost ~]# du -h 3M.dummy
3.0M    3M.dummy

duコマンドの詳しい詳細は以下の記事を参照下さい。

3Mのファイルが作成されています。

どのくらいの時間でファイル作成できるのか

どのくらいの時間で任意のサイズのファイルが作成できるのでしょうか?

timeコマンドで測定してみます。

時間を測定しながら、3Mサイズのファイルを作成してみます。

[root@localhost ~]# time dd if=/dev/zero of=3M.dummy2 bs=1M count=3
3+0 レコード入力
3+0 レコード出力
3145728 バイト (3.1 MB) コピーされました、 0.00413476 秒、 761 MB/秒

real    0m0.006s
user    0m0.001s
sys     0m0.005s

3Mのファイルは0.006秒で完成しています。

時間を測定しながら、1Gサイズのファイルを作成してみます。

[root@localhost ~]# time dd if=/dev/zero of=1M.dummy bs=1M count=1000
1000+0 レコード入力
1000+0 レコード出力
1048576000 バイト (1.0 GB) コピーされました、 2.97847 秒、 352 MB/秒

real    0m2.980s
user    0m0.001s
sys     0m1.298s

1Gのファイルは2.98秒で完成しています。

それほど時間はかからない事がわかります。

モバイルバージョンを終了