指定したサイズの空ファイルを作成する †
本資料は、指定したファイルサイズの空ファイル(すべて0)またはランダムな値のファイルを作成する方法を以下に記します。
headで作成することができる †
ddコマンドで作成する記事が多いと思いますが、本資料ではheadコマンドを使用し指定したファイルサイズのファイルを作成する方法を記します。
空(0x0)のファイルを作成する †
以下の構文により、空(0x0)のファイルを作成することができます。
head -c ファイルサイズ /dev/zero > 出力ファイル名
ファイルサイズ指定については、man head 抜粋を参照してください。
ランダムなファイルを作成する †
以下の構文により、ランダムな内容のファイルを作成することができます。
head -c ファイルサイズ /dev/urandom > 出力ファイル名
ファイルサイズ指定については、man head 抜粋を参照してください。
man head 抜粋 †
-c, --bytes=[-]K
各ファイルの先頭 K バイトを表示する。前に '-' がある場合、
各ファイルの最後の K バイトを除いた全てを表示する
尚、Kに関しては以下のようにMやGなどを指定することができます。
K には以下の倍数接尾子を続けることが出来ます:
b =512、kB =1000、K =1024、MB =1000*1000、M =1024*1024
GB =1000*1000*1000、G =1024*1024*1024、および T、P、E、Z、Y などです。
実行例 †
以下の例では、100バイト, 1024バイト, 100Mの作成を行った例です。
- 100バイトの空ファイル
sakura@hpmini:~$ head -c 100 /dev/zero > 100.dat
sakura@hpmini:~$ ls -l 100.dat
-rw-r--r-- 1 sakura sakura 100 2月 21 12:59 100.dat
sakura@hpmini:~$ hexdump -C 100.dat
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000064
- 1024バイトのランダムなファイル
sakura@hpmini:~$ head -c 1k /dev/urandom > 1k.dat
sakura@hpmini:~$ ls -l 1k.dat
-rw-r--r-- 1 sakura sakura 1024 2月 21 12:59 1k.dat
sakura@hpmini:~$ hexdump -C 1k.dat
00000000 23 ef 46 e2 6c f9 dd 3f aa f1 2f 0f 70 60 99 b0 |#.F.l..?../.p`..|
00000010 20 ed 64 41 f3 7b da 13 d9 aa dc f6 f2 d7 f0 07 | .dA.{..........|
00000020 93 05 5a 4c 52 1a e1 a0 1d 05 a1 bc 90 62 7c 7a |..ZLR........b|z|
00000030 04 7c 13 81 e3 42 64 38 bc b5 05 9a 23 94 34 f8 |.|...Bd8....#.4.|
00000040 7f b8 6b a5 be dc c8 ca 4e b0 c0 58 48 34 ef 17 |..k.....N..XH4..|
00000050 8d 1f 51 e3 86 5f 35 b6 08 5a 16 89 3e 86 1a 95 |..Q.._5..Z..>...|
00000060 0d 5f 04 6b dc a5 13 43 a5 26 78 1e c6 bf d4 aa |._.k...C.&x.....|
00000070 dd 01 29 dd 4e 26 4d 72 60 d1 56 83 e6 be ff d3 |..).N&Mr`.V.....|
00000080 f5 8d ba 5c 21 41 cf 19 76 74 ad 3f 06 44 11 96 |...\!A..vt.?.D..|
00000090 ee 5e 1b e8 e4 8c 20 c6 8d 3b 9f 7c b2 56 37 53 |.^.... ..;.|.V7S|
<snip>
00000360 72 6c 88 26 1a ce 22 93 a7 fb 84 a6 f5 c1 3c c5 |rl.&..".......<.|
00000370 da 37 0e 91 b0 98 b5 b9 da 3f 44 93 6d 3b 12 e4 |.7.......?D.m;..|
00000380 73 60 b5 e2 14 8f 42 00 ed 5b 98 85 db 9f d8 10 |s`....B..[......|
00000390 95 7a 1f 4c e7 05 ac 43 77 95 a6 b4 0d 1f 73 89 |.z.L...Cw.....s.|
000003a0 cb 55 c2 dd 57 21 db f0 17 c6 b2 6e 87 e9 9b 63 |.U..W!.....n...c|
000003b0 92 c8 f1 7b 7b 0d 61 c0 59 a2 eb 40 46 f3 e1 a7 |...{{.a.Y..@F...|
000003c0 4f 5a 4e d1 ae 5d e8 6d a0 cc 0b 90 0b 5a f9 80 |OZN..].m.....Z..|
000003d0 8c 79 51 14 8f 5e 3c 33 65 ea db 2e ea 83 70 15 |.yQ..^<3e.....p.|
000003e0 74 a1 56 46 72 1d 6a 0e eb 45 19 d3 00 52 48 44 |t.VFr.j..E...RHD|
000003f0 39 7e cf 23 c4 c6 72 15 0b 4a 6b a5 47 02 c1 df |9~.#..r..Jk.G...|
00000400
sakura@hpmini:~$
- 1Mの空ファイル
sakura@hpmini:~$ head -c 1M /dev/zero > 1M.dat
sakura@hpmini:~$ ls -l 1M.dat
-rw-r--r-- 1 sakura sakura 1048576 2月 21 13:02 1M.dat
sakura@hpmini:~$ expr 1048576 / 1024
1024
以上、ddを使用せず、headコマンドで指定したサイズのファイルを作成する方法でした。