Команда lsmod позволяет использовать утилиту с соответствующим именем для получения информации о загруженных модулях ядра Linux. Ядро Linux является монолитным, но поддерживает модули, в рамках которых содержится код для реализации ряда его функций и драйверов устройств. В процессе компиляции ядра определенный машинный код может либо включаться в состав самого ядра, либо включаться в состав модулей, которые подгружаются ядром при необходимости без перезагрузки системы. Пользователь также может загрузить любой модуль с помощью команды insmod или modprobe или получить информацию о нем с помощью команды modinfo. Сами файлы модулей обычно расположены в директории /lib/modules/<версия ядра>. Что касается списка загруженных модулей, то он экспортируется ядром посредством виртуального файла /proc/modules, а утилита lsmod просто форматирует содержимое этого файла и не выполняет каких-либо сложных манипуляций. Тем не менее, она полезна для диагностики проблем с оборудованием.
Базовый синтаксис команды выглядит следующим образом:
$ lsmod
Утилита не поддерживает каких-либо параметров и выводит информацию в формате таблицы с тремя столбцами:
Для вывода информации обо всех загруженных модулях ядра достаточно использовать утилиту lsmod без каких-либо параметров:
$ lsmod
Module Size Used by
xfs 1277952 0
cpuid 16384 0
nls_iso8859_1 16384 1
option 61440 0
usb_wwan 24576 1 option
cdc_ether 20480 0
usbserial 53248 2 usb_wwan,option
usbnet 45056 1 cdc_ether
mii 20480 1 usbnet
binfmt_misc 24576 1
mt7601u 110592 0
mac80211 843776 1 mt7601u
cx24116 24576 1
cfg80211 704512 2 mt7601u,mac80211
...
Такой режим работы утилиты не всегда удобен, ведь нередко требуется получить информацию о определенном драйвере.
Для вывода информации об определенных модулях ядра следует использовать утилиту grep по отношению к выводу утилиты lsmod:
$ lsmod | grep dvb_core
dvb_core 139264 2 cx88_dvb,videobuf2_dvb
mc 53248 4 videodev,videobuf2_v4l2,dvb_core,videobuf2_common
Очевидно, что в данном случае была выведена информация лишь об интересующем нас модуле dvb_core: этот модуль как использует модули cx88_dvb и videobuf2_dvb, так и используется модулем mc.