【Linux】デバイスファイルまとめ

Linuxデバイス情報一覧 Linux
スポンサーリンク

Linuxで開発を行う場合、デバイス関連ファイルを操作することも多いかと思います。

また、Linuxのトラブルで多いのもデバイス関連だと思います。

かなりデバイス関連のトラブルで行き詰った経験もあったので、今回はデバイス関連ファイルと関連コマンドについてまとめました。

実行環境

以下の環境で試しました。

・Debian
・LinuxMint
・MXLinux

今回のログは全て、LinuxMintで確認しました。

/procについて

Linuxにおいて、デバイスの情報は/proc以下に格納されています。

しかも、Linuxのルートファイルシステムの中でも、/procは特別なファイルシステムです

理由は、疑似的(pseudo)ファイルシステムとも呼ばれていて、ブロックデバイス上に存在するファイルではないからです。

このディレクトリから取得できる情報は以下の通りです。

・カーネルが認識するハードウェア
・実行中のプロセスに関する情報
・システムリソース
・ログ
lsコマンドで確認してみましょう。

/proc以下に存在するファイルについてまとめました。

数値のみ/実行中のプロセス情報を収めたディレクトリ
bus/pciPCIデバイスに関する情報
bus/usbUSB関する情報
cmdline起動時にカーネルに渡される引数情報
cpuinfoCPUとアーキテクチャに関する情報
crypto暗号に関する情報
devicesデバイス番号とデバイス名に関する情報
dma登録されているDMA情報
filesystemsカーネルに組み込まれているファイルシステム
interrupts現在使用されているIRQごとの割り込み回数
ioport使用されているI/Oアドレス領域
kcoreシステムの物理メモリ
kmsgカーネルのログメッセージ
meminfo物理メモリとスワップに関する
modulesロードされているカーネルモジュール
mountsマウントされているファイルシステム
partitionsカーネルが認識しているパーティション
statカーネルおよびシステムの統計情報
uptime起動してからの経過時間
versionカーネルバージョン

おそらく、/proc以下に数値しか書かれていないディレクトリが存在しますが、これは実行中のプロセスに関するファイルです。

PIDがディレクトリ名になっていますので、psコマンド等を使用して、合致するPIDのディレクトリを見つけてください。

 

それではデバイスの情報を取得するコマンドを見てみましょう。

PCIデバイスを取得する:lspci

デバイス情報取得するコマンドは、ディストリビューションによってはインストールされていないこともあるので、以下のコマンドで事前にインストールしましょう。

 

lspciコマンドは、システムの全てのPCIバス、接続されているPCIデバイスを検出するコマンドです。

lspci [オプション]

オプション:-v

詳細な情報を表示できます。

オプション:-vv

-vコマンドより、さらに詳しい情報を表示します。

オプション:-t

PCIデバイスをツリー上に表示することができます。

オプション:-b

PCIデバイスの認識に従って情報を表示

オプション:-s

指定したバス、スロット、機能のデバイスのみを表示する。今回は3番のスロットに関する情報を取得します。

lspci [[バス:][スロット][.[機能]]]

オプション:-d

指定したベンダーIDとデバイスIDを持つデバイスのみを表示することができます。

lspci [ベンダーID]:[デバイスID]

 

USBの情報を取得する:lsusb

USBの情報を取得するにはlsusbコマンドを使用します。

lsusb [オプション]

オプション:-t

ツリー上にデバイスを表示できます。

オプション:-v

USBのデバイスの詳細情報を取得する。

 

デバイス一覧:/proc/devices

カーネルが認識しているデバイス情報は、/proc/devices以下に格納されています。

cat /proc/devices

CPUの情報を取得:lscpu

lscpuコマンドはCPUの情報を取得するコマンドになります。

ブロックデバイスの情報を取得:lsblk

lsblkコマンドは、ブロックデバイスの一覧を表示することができます。

 

それぞれのコマンドの詳細については、再度まとめたいと思います。

コメント

タイトルとURLをコピーしました