MKNOD(8)

名称
mknod - 特殊ファイルを作成する

書式
mknod name [c | b] major minor [owner:group]

解説
mknod はデバイス特殊ファイルを作成します。通常、シェルスクリプト /dev/MAKEDEV で、よく知られている特殊ファイルを作成することができます。 このスクリプトは、 mknod に適当な引数を渡して実行し、必要なすべてのデバイスファイルの作成をします。

mknod の引数としては、以下の 4 つが必要です。

name
    デバイスファイル名です。たとえば “sd” は SCSI ディスクで、 “pty” は疑似デバイスです。

b | c
    デバイスのタイプを指定します。 ブロック型のデバイスは、 b を指定します。 テープやディスク等がこれに該当しますが、 ブロック型特殊デバイス (cooked) とキャラクタ型特殊デバイス (raw) の 両方の特殊ファイルが必要です。 キャラクタ型のデバイスは、 c を指定します。 端末や疑似デバイス等がこれに該当します。

major
    メジャーデバイス番号を指定します。 メジャーデバイス番号は、 どのデバイスドライバエントリを使用すべきをカーネルに示します。 メジャーデバイス番号とデバイスの対応を知るには、 /dev/MAKEDEV を見るか、システム依存のデバイス設定ファイル

    “/usr/src/sys/conf/device.<architecture>”

    を見てください。

minor
    マイナデバイス番号を指定します。 マイナデバイス番号は、 デバイスのどのサブユニットが 特殊ファイルに対応するのかをカーネルに示します。 例えば、サブユニットは ファイルシステムのパーティションだったり端末ラインだったりします。

owner:group
    owner group オペランドの組はオプションですが、 どちらかが指定された場合には両方の指定が必要です。 owner は数値のユーザ ID でもユーザ名でも良いです。 そのユーザ名が数値のユーザ ID にもある場合には、 オペランドはユーザ名として使用されます。 group は数値のグループ ID でもグループ名でも良いです。 ユーザ名と同様、 そのグループ名が数値のグループ ID にもある場合には、 オペランドはグループ名として使用されます。

メジャーデバイス番号およびマイナデバイス番号とも strtoul(3) が受け付ける任意の形式で指定可能です。 ‘0x’ で始めることにより 16 進数と、 ‘0’ で始めることにより 8 進数であると解釈させる事が出来ます。

互換性
chown(8) のような機能は FreeBSD 固有であり、 /usr がマウントされていることに /dev/MAKEDEV が依存しないようにするために追加されました。

関連項目
mkfifo(1), mknod(2), MAKEDEV(8), chown(8)

歴史
mknod コマンドは AT&T UNIX から登場しました。