このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Linux】ダミーファイルを作成する:ddコマンド
ダミーファイルをddコマンドで作成するメリット
Linuxシステムやストレージの管理において、ダミーファイル(仮のデータファイル)の作成は、テストやベンチマーク、ディスク領域のシミュレーションなど、さまざまな場面で役立ちます。dd
コマンドを使用することで、任意のサイズや内容のダミーファイルを簡単に作成することができ、システム管理者や開発者にとって貴重なツールとなります。
カスタマイズ可能なサイズ
「dd
」コマンドを使用すると、ファイルのサイズを正確に指定してダミーファイルを作成できます。これにより、特定のサイズのファイルを簡単に生成できます。
高速性
「dd
」コマンドはシステムのパフォーマンスを最大限に活用して、大容量のファイルを短時間で作成できます。
シンプルさ
「dd
」コマンドはシンプルな構文を持ち、必要なオプションを指定するだけで簡単にダミーファイルを作成できます。
柔軟性
「dd
」コマンドは様々な入力ソースを使用してダミーファイルを作成できます。例えば、「/dev/zero
」や「/dev/urandom
」などを使用して、ゼロフィルまたはランダムデータでファイルを作成できます。
ddコマンドを使用したダミーファイルの作成方法
基本的な使用例
ゼロフィルのダミーファイルを作成する
dd if=/dev/zero of=dummyfile bs=1M count=100
このコマンドは、「/dev/zero
」からデータを読み取り、100MBのゼロフィルされたダミーファイルを作成します。
dd if=/dev/zero of=dummyfile bs=1M count=100
オプションの説明
オプション | 説明 |
---|---|
if | 入力ファイル(input file)。例:/dev/zero はゼロバイトを生成します。 |
of | 出力ファイル(output file)。作成するダミーファイルの名前を指定します。 |
bs | ブロックサイズ(block size)。データを読み書きする単位を指定します。例:1M は1メガバイト。 |
count | コピーするブロックの数を指定します。これにより、ファイルのサイズが決定されます。 |
ゼロバイトの無限ストリームとは
ゼロバイトの無限ストリームとは、終わりのないゼロバイト(0x00)を生成し続けるデータストリームのことです。LinuxおよびUnix系オペレーティングシステムでは、これは通常、特殊ファイルである「/dev/zero
」を介して提供されます。
「/dev/zero
」は、読み取り時に無限にゼロバイトを返す特殊ファイルです。これにより、ゼロで埋められたダミーファイルやバッファを簡単に作成することができます。
ランダムデータの無限ストリームとは
ランダムデータの無限ストリームとは、終わりのないランダムなデータを生成し続けるデータストリームのことです。LinuxおよびUnix系オペレーティングシステムでは、これは通常、特殊ファイルである 「/dev/urandom
」や 「/dev/random
」を介して提供されます。
具体的な例と解説
1.100MBのダミーファイルを作成する
dd if=/dev/zero of=dummyfile bs=1M count=100
・「dd if=/dev/zero of=dummyfile bs=1M count=100
」コマンドを実行し、「ls -l」コマンドで確認します。
user01@ubuntu-vm:~$ dd if=/dev/zero of=dummyfile bs=1M count=100
100+0 レコード入力
100+0 レコード出力
104857600 bytes (105 MB, 100 MiB) copied, 0.0561691 s, 1.9 GB/s
user01@ubuntu-vm:~$ ls -l
合計 1151020
-rw-rw-r-- 1 user01 user01 104857600 6月 1 22:33 dummyfile
drwx------ 4 user01 user01 4096 5月 5 14:52 snap
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 ダウンロード
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 テンプレート
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 デスクトップ
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 ドキュメント
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 ビデオ
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 ピクチャ
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 ミュージック
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 公開
オプション | 説明 |
---|---|
if=/dev/zero | ゼロバイトの無限ストリームを入力ソースとして使用します。 |
of=dummyfile | 作成するファイルの名前をdummyfile とします。 |
bs=1M | 1メガバイトのブロックサイズを使用します。 |
count=100 | 100ブロック分のデータをコピーします。合計で100MBのファイルが作成されます。 |
2.1GBのランダムデータのダミーファイルを作成する
dd if=/dev/urandom of=randomfile-1G bs=1M count=1024
・「dd if=/dev/urandom of=randomfile-1G bs=1M count=1024」コマンドを実行し、「ls -l」コマンドで確認します。
user01@ubuntu-vm:~$ dd if=/dev/urandom of=randomfile-1G bs=1M count=1024
1024+0 レコード入力
1024+0 レコード出力
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.80844 s, 382 MB/s
user01@ubuntu-vm:~$ ls -l
合計 1151020
-rw-rw-r-- 1 user01 user01 104857600 6月 1 22:33 dummyfile
-rw-rw-r-- 1 user01 user01 1073741824 6月 1 22:34 randomfile-1G
drwx------ 4 user01 user01 4096 5月 5 14:52 snap
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 ダウンロード
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 テンプレート
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 デスクトップ
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 ドキュメント
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 ビデオ
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 ピクチャ
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 ミュージック
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 公開
オプション | 説明 |
---|---|
| ランダムデータの無限ストリームを入力ソースとして使用します。 |
| 作成するファイルの名前をrandomfile-1G とします。 |
bs=1M | 1メガバイトのブロックサイズを使用します。 |
| 1024ブロック分のデータをコピーします。合計で1GBのファイルが作成されます。 |
3.100MBのランダムデータのダミーファイルを作成する
dd if=/dev/urandom of=randomfile-100M bs=1M count=100
・「dd if=/dev/urandom of=randomfile-100M bs=1M count=100
」コマンドを実行し、「ls -l」コマンドで確認します。
user01@ubuntu-vm:~$ dd if=/dev/urandom of=randomfile-100M bs=1M count=100
100+0 レコード入力
100+0 レコード出力
104857600 bytes (105 MB, 100 MiB) copied, 0.225623 s, 465 MB/s
user01@ubuntu-vm:~$ ls -l
合計 1253420
-rw-rw-r-- 1 user01 user01 104857600 6月 1 22:33 dummyfile
-rw-rw-r-- 1 user01 user01 104857600 6月 1 22:39 randomfile-100M
-rw-rw-r-- 1 user01 user01 1073741824 6月 1 22:34 randomfile-1G
drwx------ 4 user01 user01 4096 5月 5 14:52 snap
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 ダウンロード
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 テンプレート
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 デスクトップ
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 ドキュメント
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 ビデオ
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 ピクチャ
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 ミュージック
drwxr-xr-x 2 user01 user01 4096 1月 1 10:51 公開
オプション | 説明 |
---|---|
| ランダムデータの無限ストリームを入力ソースとして使用します。 |
| 作成するファイルの名前をrandomfile-100M とします。 |
bs=1M | 1メガバイトのブロックサイズを使用します。 |
count=100 | 100ブロック分のデータをコピーします。合計で100MBのファイルが作成されます。 |
作成したファイルの削除
この演習で作成したファイルを削除します。
・「rm dummyfile randomfile*
」コマンドを実行して、「ls
」コマンドで削除されたかを確認します。
user01@ubuntu-vm:~$ rm dummyfile randomfile*
user01@ubuntu-vm:~$ ls
snap テンプレート ドキュメント ピクチャ 公開
ダウンロード デスクトップ ビデオ ミュージック
まとめ
「dd
」コマンドは、ダミーファイルを迅速かつ簡単に作成するための強力なツールです。正確なサイズを指定してファイルを生成することができ、テストや検証、バックアップの目的で広く利用されています。必要に応じて様々なオプションを駆使し、効率的にダミーファイルを作成しましょう。