2017年2月3日金曜日

Windows Linux 任意のサイズを指定してファイルを作成する

テスト等である程度のサイズのファイルを作成したい際、コマンドでファイルを作成できます。特に大きいサイズのファイルを作成する際は、以下のコマンドが非常に便利です。

Windowsの場合は、コマンドプロンプトからfsutilコマンドを使います。
  fsutil△file△createnew△[ファイル名]△[ファイルサイズ]

例えば、C:¥temp フォルダの中にサイズ 1024byteでファイル名 1k.txtを作成する場合
  fsutil△file△createnew△C:¥temp¥1k.txt△1024

Linux の場合は、ddコマンドを使います。
  dd△if=[ファイルを作るまての元データ]△of=[作成するファイル名]△bs=[bytes]△count=[blocks]

例えば、/tmpディレクトリの下にサイズ 1024byteでファイル名 1k.txtを作成する場合
※ファイルの中身はランダムなデータ(/dev/urandom)
  dd△if=/dev/urandom△of=/tmp/1k.txt△bs=1024△count=1
  ※bs × count のサイズでファイルが作成されます。そのため、上記例の場合は、bs=1、count=1024 としても同じサイズのファイルが作成出来ます。

また、Linux の場合はアンパサンド(&)を付ければ、バックグラウンドで処理することが出来ます。
例えば、/tmpの下に1MBのファイルを3つ(1m1.txt、1m2.txt、1m3txt)を作成する場合は、
  dd△if=/dev/urandom△of=/tmp/1m1.txt△bs=1024△count=1024△&
  dd△if=/dev/urandom△of=/tmp/1m2.txt△bs=1024△count=1024△&
  dd△if=/dev/urandom△of=/tmp/1m3.txt△bs=1024△count=1024△&
を実行することで各コマンド終了を待たずに、他の作業をすることが出来ます。
バックグラウンド処理の終了状況はjobs コマンドで確認できます。


ご指摘、ご質問などはコメントへお願いします。

0 件のコメント:

コメントを投稿