HOME > Linux Tips(目次) > 中身がランダムなファイルを任意のサイズで作成する

Linux Tipsロゴ

中身がランダムなファイルを任意のサイズで作成する

中身がランダムなファイルを任意のサイズで作成します。/dev/urandomというファイルとheadコマンドを利用します。 コマンド一発で大きなファイルでも作成できるのでなかなか便利です。 例として、中身がランダムで、サイズを200Mbyteに指定したファイルを作成します。

Last Update : 2008年12月09日

中身がランダムなファイルを任意のサイズで作成する手順

  1. /dev/urandom について
  2. head コマンドについて
  3. 中身がランダムな200Mbyteのファイルを作成してみる

1. /dev/urandom について

/dev/urandomというファイルは、カーネル乱数ジェネレータへのインタフェースとしてシステムへ作成されています。
要は乱数を生成してくれるファイルです。単純にファイルとして存在しているので何かのコマンドで中身を出力するとランダムな値を出力してくれます。

メモ

もし/dev/urandomファイルがOS上になかったら・・・

ほとんどのLinuxに/dev/urandomファイルは存在すると思うのですが、 もし無かったり、別ファイルとして作成したい場合は、以下のようにして作成する事ができます。

書式:mknod -m 644 任意ファイル名 c 1 9

# mknod -m 644 /dev/urandom c 1 9
# chown root:root /dev/urandom
# ls -l /dev/urandom
cr--r--r-- 1 root root 1, 9  3月 16  2008 /dev/urandom

上の/dev/urandomというファイル名を変更すれば、任意のファイル名で作成できます。

2. head コマンドについて

headコマンドは、ファイルの最初の部分を表示するコマンドです。
byte指定で読み込みができるので紹介します。

書式:head -c BYTES FILE
BYTES 任意バイト数を指定する。’b’を追加すると任意バイト数の 512 倍、’k’は 1024 倍、’m’は 1048576 倍を指定したことになります。
FILE ファイル名
※ 他にもオプションは有ります。

# echo 'ABC' > test.txt ← 中身がABCのファイルを作成
# head -c 1 test.txt ← test.txtから1byte出力
A
# head -c 2 test.txt ← test.txtから2byte出力
AB

3. 中身がランダムな200Mbyteのファイルを作成してみる

中身がランダムな200Mbyteのファイルを作成するには、単純に、 headコマンドで200Mbyteを指定して、 /dev/urandomを読み込むだけです。

# head -c 200m /dev/urandom > test.txt
# ls -lh test.txt
-rw-r--r-- 1 hoge hoge 200M 12月  9 16:15 test.txt ← サイズは200Mbyte

# head -c 100 test.txt
テト"ィ]bロェオョスJィサ
              ・メH,2ィhN「Xuトサア・8ロ
pロハL」]ヷ(イ・R`m/Iコノa2h|Yウ??・萋ラテ.ユ ← 中身はランダム

Linux Tips 関連記事
Linux Tips(目次)
Linux ディストリビューション一覧
rpm のファイル名にあるi386とかi686とは
自分のマシンの情報を調べる
cron の設定
ssh の root ログインを禁止する
ssh を、ユーザ、IPでアクセス制限
鍵交換方式によるssh接続
鍵交換方式によるssh接続( windowsから )
複数ファイル内の文字列を置換して上書き保存する
あるグループをイニシャルグループとするユーザー一覧出力
複数ファイルのファイル名を一括変換する
連番ファイルをコマンド一発で作成する
中身がランダムなファイルを任意のサイズで作成する
Linux ユーザーアカウントをロック・アンロックする