1. Linuxのファイル構造
- /bin : 実行可能なコマンドのバイナリ ファイルを保存します。
- /boot : システムの起動に必要なカーネルとブート ファイルを保存します。
- /dev : ハードウェア デバイスと対話するためのデバイス ファイルが含まれています。
- /etc : システムの構成ファイルを保存します。
- /home : すべてのユーザーのホーム ディレクトリがここにあります。
- /lib : 実行可能プログラムで使用するシステム ライブラリ ファイルを保存します。
- /media : デフォルトのマウント ポイント。CD、USB ドライブなどのリムーバブル メディア デバイスを一時的にマウントするために使用されます。
- /mnt : 他のファイル システムを一時的にマウントするために使用されます。
- /opt : サードパーティ アプリケーションのオプションのコンポーネントを保持します。
- /proc : 実行中のプロセスに関する情報を提供する仮想ファイルシステム。
- /root : スーパーユーザー (root) のホーム ディレクトリ。
- /sbin : システム管理コマンドのバイナリ ファイルを保存します。
- /srv : 特定のサービスに関連するデータを保存します。
- /tmp : 一時ファイルを保存します。
- /usr : ユーザー アプリケーション、ライブラリ ファイル、ドキュメントなどの共有可能な読み取り専用データを保存します。
- /var : ログ ファイル、キャッシュ、メールなど、頻繁に変更されるデータを保存します。
- /sys:システムおよびデバイス ドライバーに関する情報を保存するためのインターフェイス。これにより、システム カーネルへのアクセスが提供され、ユーザーとアプリケーションがシステム ハードウェアと対話できるようになります。
2.sysディレクトリ
/sys/block
: このディレクトリにはブロックデバイス (ハードディスクなど) に関する情報が含まれており、各デバイスはサブディレクトリの形式で存在します。/sys/class
: このディレクトリには、ネットワークデバイス、入力デバイス、USB デバイスなど、さまざまなデバイスのカテゴリ情報が含まれています。/sys/devices
: このディレクトリにはシステム上のすべてのデバイスの階層構造情報が含まれており、各デバイスはサブディレクトリの形式で存在します。/sys/bus
: このディレクトリには、PCI、USB などのさまざまなタイプのバスに関する情報が含まれています。/sys/fs
: このディレクトリには、ルート ファイル システムのパラメータ設定など、ファイル システムに関連する情報が含まれます。/sys/kernel
: このディレクトリには、カーネル構成オプション、デバッグ インターフェイスなど、カーネルに関連する情報が含まれています。/sys/power
: このディレクトリには、電源管理に関連する情報が含まれています。
3.sys/classディレクトリ
- /sys/class/net: このディレクトリには、システム内のすべてのネットワーク デバイスの情報が保存されます。たとえば、eth0 や wlan0 などのネットワーク インターフェイスには、このディレクトリの下に対応するサブディレクトリがあります。
- /sys/class/block: このディレクトリには、システム内のすべてのブロック デバイス (ハードディスクやフラッシュ ドライブなど) に関する情報が保存されます。各ブロック デバイスには対応するサブディレクトリがあり、サブディレクトリの名前は「sd」という文字で始まり、その後に sda、sdb などの文字が続きます。
- /sys/class/gpio: このディレクトリは、汎用入出力 (GPIO) ピンにアクセスするために使用されます。各 GPIO ピンには対応するサブディレクトリがあり、サブディレクトリの名前は gpio で始まり、gpio1、gpio2 などの特定のピン番号が続きます。
- /sys/class/power_supply: このディレクトリには、システム内のすべての電源デバイスの情報が保存されます。たとえば、AC アダプタとバッテリには、このディレクトリ内に対応するサブディレクトリがあります。
4. sys/class/net ディレクトリ (ネットワーク デバイスに関連する情報を保存するために使用され、各ネットワーク インターフェイスのサブディレクトリが含まれ、各サブディレクトリの名前は特定のネットワーク インターフェイスに対応します)
各サブディレクトリ内には、通常、次のファイルとディレクトリが含まれます。
- address: このファイルには、ネットワーク インターフェイスの物理アドレス (MAC アドレス) が含まれています。
- キャリア: このファイルはネットワーク インターフェイスのリンク接続ステータスを示します。1 は接続されていることを意味し、0 は接続されていないことを意味します。
- dev_id: このファイルには、ネットワーク インターフェイスのデバイス ID が含まれます。
- dev_port: このディレクトリには、ネットワーク インターフェイスに関連するポート情報が含まれます。
- duplex: このファイルは、全二重 (フル) または半二重 (ハーフ) など、ネットワーク インターフェイスの動作モードを識別します。
- ifalias: このファイルには、ネットワーク インターフェイスのエイリアス設定が含まれています。
- ifindex: このファイルにはネットワーク インターフェイスのインデックス番号が含まれます。
- mtu: このファイルには、ネットワーク インターフェイスの最大伝送単位 (MTU) サイズが含まれています。
- operstate: このファイルは、アップ (有効) またはダウン (無効) など、ネットワーク インターフェイスの動作状態を示します。
- 速度: このファイルには、ネットワーク インターフェイスの速度情報が含まれています。
例
/sys/class/net/eth0
/sys/class/net/wlan0
/sys/class/net/loeth0
はイーサネットインターフェース、wlan0
無線 LAN インターフェース、lo
ループバックインターフェース (localhost) を示します。これらのサブディレクトリには、設定ファイルやステータス情報など、対応するインターフェイスに関連するファイルとディレクトリが含まれています。
5. /sys/class/net/eth0 (通常、ネットワークインターフェイス「eth0」に関連する情報と設定が含まれます)
address
: イーサネットインターフェース eth0 の物理アドレス (MAC アドレス) が含まれます。carrier
: イーサネット インターフェイスがネットワークに接続されているかどうかを示します (1 は接続されていることを意味し、0 は接続されていないことを意味します)。device
: イーサネット インターフェイス eth0 に関連付けられたデバイスを指すシンボリック リンク。duplex
:イーサネットインターフェースeth0の二重モード(全二重または半二重)を示します。flags
: UP (有効)、BROADCAST (ブロードキャスト) など、イーサネット インターフェイス eth0 のフラグとステータス情報を一覧表示します。ifalias
: イーサネット インターフェイス eth0 のエイリアス (存在する場合)。mtu
: イーサネットインターフェース eth0 の最大送信単位 (Minimum Transmission Unit) サイズ。operstate
:イーサネットインターフェースeth0の動作状態(UP、DOWN、UNKNOWNなど)を示します。speed
: イーサネットインターフェース eth0 の接続速度。
6. /sys/class/net/eth0/device ディレクトリ (eth0
ネットワーク インターフェイス デバイスに関連する情報と設定を保存します)
driver
: このディレクトリには、ドライバー モジュールへのパス、バージョン番号など、ドライバーに関する情報が含まれています。uevent
: このファイルには、デバイスの接続または取り外しの通知など、デバイスに関するイベント情報が含まれています。irq
: このファイルは、デバイスに関連付けられた割り込み要求 (IRQ) 番号を示します。resource
: このファイルには、メモリ アドレスや I/O ポートなど、デバイスによって使用されるリソースに関する情報が含まれています。power
: このディレクトリには、デバイスの電源状態を制御できるデバイスの電源管理に関連するファイルとサブディレクトリが含まれています。modalias
: このファイルには、デバイスのタイプとベンダー情報を識別する識別子が含まれています。dev
: このファイルには、デバイスのメジャー デバイス番号とマイナー デバイス番号が含まれています。subsystem
: このディレクトリには、デバイスが属するサブシステムに関連する情報が含まれています。