/sys
ある古いです。Linuxカーネルが2.6に到達する前に導入されました(2.4 / 2.5の分割があったときに戻ります)。以来最初のUbuntuのリリースは2.6カーネルを使用し、すべての Ubuntuのバージョンがありました/sys
。
/dev
実際のデバイスファイルが含まれています。カーネルが知っているすべてのデバイスへのアクセスを提供しません(たとえば、イーサネットデバイスなど- ネットワークインターフェースが他のデバイスのように/ devにないのはなぜですか?、なぜイーサネットデバイスが「/ dev」に表示されないのですか?)。デバイス自体へのインターフェースです-デバイスへの書き込み、デバイスからの読み取りなど。
/sys
カーネルへのインターフェースです。具体的には、カーネルが提供する情報と構成設定のファイルシステムのようなビューを提供します/proc
。これらのファイルへの書き込みは、変更する設定に応じて、実際のデバイスに書き込む場合と書き込まない場合があります。一般的なユースケースですが、デバイスの管理だけではありません。
詳細については、カーネルのドキュメントを参照してください。
Top Level Directory Layout
~~~~~~~~~~~~~~~~~~~~~~~~~~
The sysfs directory arrangement exposes the relationship of kernel
data structures.
The top level sysfs directory looks like:
block/
bus/
class/
dev/
devices/
firmware/
net/
fs/
devices/ contains a filesystem representation of the device tree. It maps
directly to the internal kernel device tree, which is a hierarchy of
struct device.
bus/ contains flat directory layout of the various bus types in the
kernel. Each bus's directory contains two subdirectories:
devices/
drivers/
devices/ contains symlinks for each device discovered in the system
that point to the device's directory under root/.
drivers/ contains a directory for each device driver that is loaded
for devices on that particular bus (this assumes that drivers do not
span multiple bus types).
fs/ contains a directory for some filesystems. Currently each
filesystem wanting to export attributes must create its own hierarchy
below fs/ (see ./fuse.txt for an example).
dev/ contains two directories char/ and block/. Inside these two
directories there are symlinks named <major>:<minor>. These symlinks
point to the sysfs directory for the given device. /sys/dev provides a
quick way to lookup the sysfs interface for a device from the result of
a stat(2) operation.
例えば:
ノートパソコンのモニターの明るさを設定する1つの方法は次のとおりです。
echo N > /sys/class/backlight/acpi_video0/brightness
ネットワークカードのMACアドレスを取得するには:
cat /sys/class/net/enp1s0/address
現在のCPUスケーリングガバナーを取得するには:
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
等々...
/sys
今10年以上に渡っています。