← Назад ко всем вопросам

Что содержат каталоги /proc, /sys и /dev в Linux и чем они отличаются?

1️⃣ Как кратко ответить

Каталог /proc содержит виртуальную файловую систему, предоставляющую информацию о процессах и системе. Каталог /sys предоставляет интерфейс для взаимодействия с ядром и устройствами. Каталог /dev содержит файлы устройств, которые представляют аппаратные устройства системы. Основное отличие: /proc и /sys — это виртуальные файловые системы для информации и управления, а /dev — для доступа к устройствам.

2️⃣ Подробное объяснение темы

В Linux каталоги /proc, /sys и /dev играют ключевую роль в управлении системой и взаимодействии с аппаратным обеспечением. Они являются частью файловой системы, но каждый из них имеет свою уникальную функцию и структуру.

Каталог /proc

Каталог /proc — это виртуальная файловая система, которая предоставляет информацию о системе и процессах. Он не занимает места на диске, так как данные генерируются динамически.

  • Процессы: Каждый запущенный процесс имеет свой подкаталог в /proc, названный по его PID (идентификатор процесса). Например, /proc/1234 содержит информацию о процессе с PID 1234.
  • Системная информация: Файлы, такие как /proc/cpuinfo, содержат информацию о процессоре, а /proc/meminfo — о памяти.
  • Конфигурация ядра: Файлы, такие как /proc/sys, позволяют изменять параметры ядра в реальном времени.

Пример:

cat /proc/cpuinfo

Эта команда выводит информацию о процессоре, включая модель, частоту и количество ядер.

Каталог /sys

Каталог /sys также является виртуальной файловой системой, но он предоставляет интерфейс для взаимодействия с ядром и аппаратными устройствами. Он организован по иерархии, отражающей структуру устройств и драйверов.

  • Устройства: Подкаталоги, такие как /sys/class, /sys/block, содержат информацию об устройствах и их драйверах.
  • Атрибуты устройств: Позволяет изменять параметры устройств, например, включать или отключать устройства.

Пример:

cat /sys/class/net/eth0/address

Эта команда выводит MAC-адрес сетевого интерфейса eth0.

Каталог /dev

Каталог /dev содержит файлы устройств, которые представляют собой интерфейсы для взаимодействия с аппаратными устройствами. Эти файлы позволяют программам взаимодействовать с устройствами, как с обычными файлами.

  • Блочные устройства: Например, /dev/sda для жестких дисков.
  • Символьные устройства: Например, /dev/tty для терминалов.
  • Псевдо-устройства: Например, /dev/null, который отбрасывает все записанные в него данные.

Пример:

ls -l /dev/sda

Эта команда показывает информацию о блочном устройстве, представляющем жесткий диск.

Отличия

  • /proc: Фокусируется на информации о процессах и системе. Виртуальная файловая система для мониторинга и настройки.
  • /sys: Предоставляет интерфейс для управления устройствами и ядром. Виртуальная файловая система для взаимодействия с аппаратным обеспечением.
  • /dev: Содержит файлы устройств для взаимодействия с аппаратными устройствами. Реальные интерфейсы для ввода/вывода.

Тема: Tools / DevOps / Linux
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки