Файловая система sysfs была введена для обеспечения лучшего способа управления устройствами в системе Linux, задаче, для которой каталог /dev был не полностью приспособлен. Понимание того, что такое /sys в Linux, является ключом к современному системному администрированию.
Что такое sysfs?
sysfs — это виртуальная файловая система, обычно монтируемая в /sys, которая экспортирует информацию об объектах ядра, аппаратных устройствах и драйверах из модели устройств ядра в пользовательское пространство. В отличие от файлов на физическом диске, файлы и каталоги внутри /sys генерируются на лету и представляют текущее состояние системы sys.
Роль каталога linux /sys
Основная цель каталога linux /sys — предоставить структурированное представление всех устройств в вашей системе. Он содержит подробную информацию, такую как производитель и модель, куда подключено устройство, его текущее состояние и его положение в иерархии устройств.
Файлы, которые вы видите здесь, не являются узлами устройств, как те, что находятся в /dev. Вы не взаимодействуете с устройством напрямую через /sys; скорее, вы используете его для просмотра информации и управления атрибутами устройства.
sysfs против /dev
Хотя /sys и /dev связаны с устройствами, они выполняют разные функции.
- Каталог
/devпредоставляет узлы устройств, которые являются специальными файлами, позволяющими программам получать доступ к самим устройствам. - Файловая система
/sysиспользуется для просмотра информации об устройствах и управления ими. Она раскрывает лежащую в основе модель устройств.
Например, давайте рассмотрим содержимое каталога блочного устройства внутри /sys:
pete@icebox:~$ ls /sys/block/sda
alignment_offset discard_alignment holders removable sda6 trace
bdi events inflight ro size uevent
capability events_async power sda1 slaves
dev events_poll_msecs queue sda2 stat
device ext_range range sda5 subsystem
Этот вывод показывает различные атрибуты и подкаталоги, связанные с жестким диском sda, предлагая гораздо более подробный обзор, чем только /dev/sda.