LoginSignup
10
9

More than 5 years have passed since last update.

mkfileコマンド

Posted at

はじめに

デバイスの空き容量をゴミファイルで埋める』という記事を読んで、

mkfile -n 11g gomi.dat

とmkfileコマンド (バイナリファイルの作成するコマンド) が出てきた。そして、11gって何表してたんだっけ?っと忘れてしまっていので調べた。

結論から言うとファイルのサイズだった。

結論から言うと、11gとは、11GBのファイルということだった。
任意のサイズのファイルをmkfileで作るときに使えるらしく、以下の単位と共にサイズを指定することで作れるらしい。

記述 実際の単位
b Byte
k KB
m MB
g GB

参考:任意のサイズのファイルを作成する(mkfile)

また、オラクルのサイトに次のように書いてありました。

mkfile コマンド
mkfile コマンドは、NFS のマウント済みスワップ空間またはローカルスワップ空間に使用できるファイルを作成します。スティッキビットが設定され、ファイルは 0 が埋め込まれます。スワップファイルのサイズは、バイト数 (デフォルト) として指定するか、接尾辞 k、b、m を使用して、それぞれ K バイト数、ブロック数、M バイト数として指定できます。
(引用元:mkfile コマンド (Solaris のシステム管理 (基本編)) )

つまり、bというのはバイト数ではなく、ブロック数?

ブロック数とはWikipediaによると

コンピューティング、特に記憶装置とデータ転送において、ブロック(英: Block)とは、ある一定の長さ(ブロックサイズ)のバイトまたはビットの並びである。そのようなデータは「ブロック化」されていると言われる。ブロック化は、そのデータを受け取るコンピュータプログラムにとって装置の物理的特性を抽象化し、データストリームを扱いやすくするために行われる。
また狭義には、
* オペレーティングシステムあるいはファイルシステムがHDDなどの外部デバイスとのデータ読み書きを行うインターフェースにおけるデータの最小単位
* データベース管理システム(DBMS)が記憶装置とのデータのやり取りを行うインターフェースにおけるデータの最小単位
* フラッシュメモリにおいて、消去操作を行うデータの最小単位
を示す。
(引用元:ブロック (データ) - Wikipedia)

ということでbmで実際にファイルを作りました。

コマンド 結果
mkfile -v 11b test.text test.text 5632 bytes
mkfile -v 11m test.text test.text 11534336 bytes

ということで、11mで作った方は11MBに近いですが、11bで作った方は5632bytesということで
やはりこのbという接尾辞はByteを表しているのではなくブロック数を指定するものみたいですね。

ちなみに、mkfileのオプションコマンドは次の通りです。

mkfileのオプションコマンド

オプションコマンド 内容
-n 空のファイルを作成。サイズは表示されるが、データが書き込まれるまでディスクブロックは割り当てられない。
-v 作成したファイル名とサイズを表示。

参考

10
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
9