/sys
є старий . Він був введений до досягнення ядра Linux 2,6 (тоді, коли був розкол 2,4 / 2,5). Оскільки перший випуск Ubuntu використовував ядро 2.6 , у кожній версії Ubuntu був свій /sys
.
/dev
містить фактичні файли пристрою. Він не забезпечує доступ до всіх пристроїв , що ядро знає (наприклад, мережевими пристроями, для одного - ? Чому мережеві інтерфейси не в / розробника , як і інші пристрої , Чому Ethernet пристрої не відображаються в «/ 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.
Наприклад:
Один із способів встановлення яскравості монітора ноутбука:
echo N > /sys/class/backlight/acpi_video0/brightness
Щоб отримати MAC-адресу мережевої карти:
cat /sys/class/net/enp1s0/address
Щоб отримати поточні регулятори масштабування процесора:
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
І так далі...
/sys
існує вже більше десяти років .