На сайте fedoramagazine.org вышла серия статей о программах для получения информации о своей системе. Возможно кто-то узнает для себя что-то новое или найдет интересные флаги и/или возможности, которыми еще не пользовался. Первая статья будет об двух инструментах:
lscpu
- информация о центральном процессоре;lsusb
- информация о подключенных USB устройствах.
Введение
Fedora (и другие распространенные системы Linux) предлагает вам набор инструментов для управления, мониторинга и понимания системы. Среди этих инструментов есть ряд команд, которые начинаются с ls (что означает «список»).
Они обеспечивают легкое понимание различных аспектов аппаратного обеспечения и ресурсов системы. В этой серии статей вы
найдете введение и обзор многих из них, начиная с самых простых. В этом посте будут рассмотрены lscpu
и lsusb
.
lscpu
- отображение информации о процессоре
Команда lscpu
собирает и отображает информацию об архитектуре центрального процессора. Она предоставляется
пакетом util-linux
. Команда собирает информацию о процессоре из нескольких источников, таких как /proc/cpuinfo
и
библиотек, зависящих от архитектуры (например, librtas
на PowerPC
):
|
|
Эта команда выводит такую информацию как: количество процессоров, количество потоков на ядро, количество ядер на сокет, а также семейство и модель процессора.
По запросу она может выводить подробную информацию о процессоре в формате JSON
. Это обеспечивает структурированное
представление, которое особенно полезно для сценариев и автоматизации:
|
|
Расширенный пример использования
Благодаря машиночитаемому выводу JSON
вы можете извлекать информацию с помощью jq
(мощного инструмента командной
строки, который позволяет пользователям эффективно анализировать, фильтровать и манипулировать данными JSON
и
заслуживает отдельной статьи). Например, следующая команда извлечет текущие значения MHz
для каждого ядра центрального
процессора:
|
|
Давайте посмотрим на отдельные части команды:
export LANG=en_US.UTF-8
иexport LC_ALL="en_US.UTF-8"
гарантируют, что в выводе не используются локализованные числа. Например, для немецкого или русского языка используется запятая вместо точек, в качестве разделителя целой и десятичной части чисел. Это приведет к нарушению формата JSON и ошибкам ввода программыjq
(jq: parse error: Objects must consist of key:value pairs at line 10, column 29
).lscpu --json --extended
генерирует подробную информацию о процессоре в форматеJSON
.jq '.cpus[] |
будет перебирать каждую запись из массива данных о центральном процессоре.{cpu: .cpu, mhz: .mhz}'
создает новый объектJSON
для каждого ядра процессора, отображающий порядковый номер ядра (cpu
) и его текущую частоту в MHz (mhz
).
Пример вывода для ноутбука, работающего в режиме производительности:
|
|
А теперь в режиме энергосбережения:
|
|
lsusb
- отображение информации об USB-устройствах
Команда lsusb
отображает подробную информацию о шинах USB в системе и подключенных к ним устройствах. Она
предоставляется пакетом usbutils
и помогает пользователям и системным администраторам легко просматривать конфигурацию
и устройства, подключенные к их USB-интерфейсам:
|
|
В результате выводится список всех шин USB, подключенных к ним устройств, а также краткая информация о каждом
устройстве, например идентификатор и производитель. Это особенно полезно для быстрой проверки того, какие устройства
подключены к системе. Так же полезно, если нужен идентификатор USB-устройства для правил udev
или чего-то подобного.
Пример использования и вывод программы
Для тех, кому нужна более подробная информация о USB-устройствах, lsusb
позволяет вывести более подробную информацию:
|
|
Использование опций -v
и -t
укажет lsusb
выгрузить иерархию физических USB-устройств в виде дерева, включая
идентификаторы. Ниже показано подробное дерево всех USB-устройств (здесь используется ThinkPad T480S), их типы, скорости
и классы устройств. Это особенно полезно для устранения неполадок с USB-устройствами:
|
|
Заключение
Несмотря на свою простоту, обе команды дают представление о конфигурации и состоянии системы. Независимо от того, занимаетесь ли вы устранением неполадок, оптимизацией или просто проявляете любопытство, эти инструменты предоставляют ценные данные, которые помогут вам лучше понимать и управлять вашим окружением Linux. Увидимся в следующий раз, когда мы рассмотрим более полезные инструменты командной строки для получения списков и информации, а также способы их использования.