デバイス
デバイスファイル
Unixはハードディスク,CD-ROM,フロッピー,マウス,キーボードなどの周辺装置をデバイスと呼び,/devディレクトリの下にファイルに見立てて登録されている。
その名前で個々の装置を識別する。
主要なデバイスの名称はこちらを参照。
デバイスは文字単位に入出力動作を行うキャラクタデバイスと,ブロック単位に入出力を行うブロックデバイスの二つに分かれる。
しかし,通常の使用で両者を区別する必要はない。
両者の違いはOSとドライバが吸収してくれる。
デバイスをファイルに見立てて,そこにデータを書き込めば,周辺装置にデータが送られる。
[root@gw2000 ~]# cat testfile > /dev/lp1 <-- /dev/lp1(プリンタポート)にtestfileのデータを送る
|
主要なデバイスの名称
/dev/cua0
/dev/cua1
|
シリアル ポート。
自分から相手と呼び出して接続動作を行うときにcua?というデバイスを使う。
|
/dev/ttyS0
/dev/ttyS1
|
シリアル ポート。
自分からは接続せず,相手からの呼び出しを待つときにttyS?を使う。
将来のリリースでは,ttyS?に統一される予定。
|
|
/dev/psaux
|
丸型6ピンのPS/2マウスポート用のデバイス。
|
|
/dev/lp1
|
プリンタを接続するパラレル ポート用のデバイス。
将来のリリースでは,/dev/lp0に変更される予定。
|
/dev/hda
/dev/hdb
/dev/hdc
/dev/hdd
|
IDEハードディスク。
ATAPIインタフェースのCD-ROM ドライブも同じデバイス名。
|
/dev/hda
|
プライマリIDEのマスター
|
|
/dev/hdb
|
プライマリIDEのスレーブ
|
|
/dev/hdc
|
セカンダリIDEのマスター
|
|
/dev/hdd
|
セカンダリIDEのスレーブ
|
ハードディスクはパーティションに分割され,個々のパーティションもデバイスとして扱われる。
その場合は,/dev/hda1,/dev/hda2というようなデバイス名となる。
|
/dev/sda
/dev/sdb
/dev/sdc
/dev/sdd
|
SCSI ハードディスク。
最初に検出されたドライブがsda,次がsdbというようにデバイス名が割り当てられる。
SCSIのIDに対応してデバイス名が割り当てられるのではないが,SCSIデバイスはIDの小さいほうから検出する。
ハードディスクはIDEと同様に,パーティションに分割され,個々のパーティションもデバイスとして扱われる。
その場合は,/dev/sda1,/dev/sda2というようなデバイス名となる。
|
|
/dev/scd0
|
SCSIインタフェースのCD-ROM ドライブ。
最初に検出されたSCSI CD-ROM ドライブを表す。
CD-ROM ドライブが複数接続されている場合は,2台目が/dev/scd1となる。
|
/dev/fd0
/dev/fd1
|
フロッピーディスク。
fd0がAドライブ,fd1がBドライブ。
fd0,fd1はフロッピーの種類やフォーマットを自動検出する。
物理フォーマットする場合など,フロッピーの種類/フォーマットを指定するときはデバイス名を使う。
|
fd?H1440
|
3.5インチ,1.44Mバイトフォーマットのフロッピー
|
|
fd?D720
|
3.5インチ,720Kバイトフォーマットのフロッピー
|
|
|
dev/st0
|
テープ装置。
|
|
/dev/null
|
nullデバイス。
出力専用の特殊なデバイスで,ここに出力したものは消えてしまう。
シェルスクリプトなどで画面表示を出したくない場合,画面表示をnullデバイスにリディレクトする。
|
デバイスファイルと同じように使うシンボリックリンク
|
/dev/mouse
|
マウス。
リンク先は次のとおり。
|
PS/2マウスの場合
|
/dev/psaux
|
|
シリアルマウスの場合
|
/dev/ttyS0,/dev/ttyS1
|
|
|
/dev/modem
|
モデム。
リンク先は次のとおり。
|
モデムをCOM1に接続する場合
|
/dev/cua0
|
|
モデムをCOM2に接続する場合
|
/dev/cua1
|
|
|
/dev/cdrom
|
CD-ROM ドライブ。
リンク先は次のとおり。
|
ATAPI CD-ROMの場合
|
/dev/hdb,/dev/hdc,/dev/hdd
|
|
SCSI CD-ROMの場合
|
/dev/scd0
|
|
その他のCD-ROM の場合
|
その他のデバイスファイル
|
|
インストールされているデバイスの一覧
lsdevコマンドでインストールされているデバイスを一覧表示できる。
[root@gw2000 ~]# lsdev
Device DMA IRQ I/O Ports
------------------------------------------------
3c509 11 0300-030f
cascade 4 2
dma 0080-009f
dma1 0000-001f
dma2 00c0-00df
floppy 03f0-03f5 03f7-03f7
IDE e800-e807 e808-e80f
ide0 14 01f0-01f7 03f6-03f6
keyboard 1 0060-006f
math 13
npu 00f0-00ff
pas16 10
pic1 0020-003f
pic2 00a0-00bf
rtc 8 0070-007f
serial 4 02f8-02ff 03f8-03ff
timer 0 0040-005f
vga+ 03c0-03df
|
lsdevコマンドがない場合は,下記からデバイスの情報を知ることもできる。
|
/proc/interrupts
|
割り込みの一覧
|
|
/proc/ioports
|
I/Oポートの一覧
|
|
/proc/dma
|
DMAの一覧
|
|