На сайте 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. Увидимся в следующий раз, когда мы рассмотрим более полезные инструменты командной строки для получения списков и информации, а также способы их использования.
