【Linux入門】デバイスファイル
1.デバイスファイルとは
- デバイスファイルは、Linuxシステム上のハードウェアや仮想デバイスにアクセスするための特殊なファイルです。
- ハードウェアデバイスやカーネル内部の仮想デバイスに対して、ファイルシステム経由でアクセスを可能にします。
'/dev'ディレクトリ
- デバイスファイルは通常、
/dev
ディレクトリに配置されます。 /dev
ディレクトリは、ハードウェアデバイスやカーネルモジュールに対応するデバイスファイルが含まれています。
'/dev'以下のファイルやディレクトリの一覧
’ls /dev’ コマンドを実行すると多くのファイルがあることが確認できます。デバイスファイルは、Linuxカーネルがハードウェアを検知すると自動的に作成されます。
$ ls /dev
autofs log sg0 tty24 tty49 usbmon0
block loop-control sg1 tty25 tty5 usbmon1
bsg lp0 shm tty26 tty50 usbmon2
(省略)
hwrng rtc0 tty20 tty45 ttyS3 zero
initctl sda tty21 tty46 uhid
input sda1 tty22 tty47 uinput
kmsg sda2 tty23 tty48 urandom
主なデバイスファイル
下表は主なデバイスファイルをまとめたものです。
デバイスファイル | 説明 |
---|---|
/dev/sda | 1番目のSCSIディスクドライブ(SATAも含む) |
/dev/sdb | 2番目のSCSIディスクドライブ(SATAも含む) |
/dev/sr0 | 1番目のCD/DVD/BDドライブ |
/dev/hda | 古いIDEディスクドライブ(現在はあまり使われない) |
/dev/nvme0n1 | NVMe SSDドライブ |
/dev/ttyS0 | シリアルポート |
/dev/null | すべての出力を破棄する特殊デバイス |
/dev/random | システムによって生成される乱数を提供する特殊デバイス(真の乱数) |
/dev/urandom | システムによって生成される乱数を提供する特殊デバイス(疑似乱数) |
Linux が認識しているデバイス
Linux が認識しているデバイスの一覧は、' cat /proc/devices
' コマンドで確認できます。キャラクタデバイス、ブロックデバイスが順に表示されます。
'cat /proc/devices
' コマンドの出力
$ cat /proc/devices
Character devices:
1 mem
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
(省略)
251 iio
252 rtc
253 dax
254 tpm
Block devices:
259 blkext
8 sd
9 md
11 sr
65 sd
(省略)
133 sd
134 sd
135 sd
253 device-mapper
254 mdp
- 上記の出力から、'
/proc/devices
' ファイルにはキャラクタデバイスとブロックデバイスのリストが含まれています。 - キャラクタデバイスは主に入出力デバイスやカーネルインタフェースを表し、ブロックデバイスはストレージデバイスを表します。
- 例えば、キーボードやマウス、シリアルポートなどのデバイスはキャラクタデバイスで、ハードディスクやCD-ROMなどのデバイスはブロックデバイスです。