はじめに
一定のサイズのファイルを作るのに便利なddコマンドの使い方を勉強しました。
書式
dd if=/dev/zero of=filename bs=size count=1
[root@sv12-CentOS74 ~]# dd if=/dev/zero of=ddtest bs=1024 count=1
1+0 レコード入力
1+0 レコード出力
1024 バイト (1.0 kB) コピーされました、 0.000419075 秒、 2.4 MB/秒
[root@sv12-CentOS74 ~]# ls ddtest -lh
-rw-r--r-- 1 root root 1.0K 3月 19 04:21 ddtest
bsで指定するファイルサイズにはKやMをつけることができます。分かりやすくて良いですね。
[root@sv12-CentOS74 ~]# dd if=/dev/zero of=ddtest bs=1M count=1
1+0 レコード入力
1+0 レコード出力
1048576 バイト (1.0 MB) コピーされました、 0.00152422 秒、 688 MB/秒
メモリに乗り切らないぐらいの大きさのbsを指定すると失敗します。
[root@sv12-CentOS74 ~]# dd if=/dev/zero of=ddtest bs=1G count=1
dd: 大きさ 1073741824 バイトの入力バッファによりメモリを使い果たしました (1.0 GiB)
この場合にはbsの値を小さくして、countの値を大きくすることで対応しましょう。bs*countの値が最終的に出力されるファイルサイズです。
[root@sv12-CentOS74 ~]# dd if=/dev/zero of=ddtest bs=1M count=1024
1024+0 レコード入力
1024+0 レコード出力
1073741824 バイト (1.1 GB) コピーされました、 2.70237 秒、 397 MB/秒
[root@sv12-CentOS74 ~]# ls ddtest -lh
-rw-r--r-- 1 root root 1.0G 3月 19 04:27 ddtest