このエントリーをはてなブックマークに追加


指定したサイズの空ファイルを作成する

本資料は、指定したファイルサイズの空ファイル(すべて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コマンドで指定したサイズのファイルを作成する方法でした。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-02-21 (火) 13:07:03