- 10 команд Linux что бы получить информацию о системе
- 1. Как просмотреть информацию о системе linux
- 2. Как просмотреть информацию об оборудовании Linux
- 3. Как получить информацию о CPU
- 4. Как получить информацию об устройствах Linux
- # Сбор системных данных в Linux
- # Версия операционной системы
- # Информация об аппаратной части
- # Диспетчер задач
- # Диспетчер сетевых интерфейсов
- # Сетевые инструменты
- # netstat
- # ifconfig
- # route
10 команд Linux что бы получить информацию о системе
В данной статья я расскажу вам про 10ть команд Linux с помощью которых можно собрать информацию о системе и оборудовании.
1. Как просмотреть информацию о системе linux
Что бы определить системное имя выполните команду
Что бы узнать имя компьютера в сети его hostname
Что бы узнать версию ядра
Что бы определить разрядность ОС
Всю эту информацию можно получить одной командой
2. Как просмотреть информацию об оборудовании Linux
Что бы узнать информацию об cpu, disks, memory, usb controllers можно воспользоваться командой lshw
Если её нет в системе то необходимо предварительно установить, она есть в репозитории rpmforge
Выполнить команду и в результате получите подобную информацию
capabilities : fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp x86 — 64 constant_tsc . . . . . . . . . . . . . . .
Можно сократить и упорядочить вывод с помощью опции
Также есть возможность вывода информации в html файл
3. Как получить информацию о CPU
Что бы получить информацию о CPU можно воспользоваться командами
Результат команды будет следующим
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
4. Как получить информацию об устройствах Linux
Что бы получить инфо о блочных устройствах таких как жесткие диски, флэшки и т.п. используйте команду lsblk
Пример вывода команды
# Сбор системных данных в Linux
В процессе работы с сервером часто возникают ситуации, когда нужно получить дополнительные сведения о системе — посмотреть открытые порты, проверить загрузку процессора или найти процесс, выполнение которого отнимает слишком много серверных ресурсов.
В этой статье мы расскажем о встроенных командах и небольших устанавливаемых утилитах, которые помогут получить дополнительные сведения о функционировании системы, помогут просканировать открытые или прослушиваемые порты, приведут список выполняемых процессов и т.д.
# Версия операционной системы
Начнём с самого базового элемента — версия установленной на сервере операционной системы. Получить информацию о ней можно при помощи нескольких команд.
Она выведет в консоль только общее название системы:
Если добавить к этой команде флаг -a , то на экран будет выведена полная информация о системе: имя хоста, имя и версия ядра Kernel, а также разрядность самой операционной системы.
Она выведет на экран информацию об установленных модулях LSB и основную информацию об операционной системе:
# Output No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster
# Информация об аппаратной части
Получить общие данные об аппаратной части вашего компьютера — вне зависимости от того, локальная это машина или сервер — можно с помощью утилиты lshw .
Если она не установлена по умолчанию, установите её стандартным способом:
# Ubuntu / Debian sudo apt install lshw # CentOS sudo dnf install lshw
После завершения установки можно переходить непосредственно к работе с программой. Вводим команду:
Она соберёт общую информацию о вашем «железе»: имя хоста, количество ядер процессора и объём RAM:
# Output host_name description: Computer width: 64 bits capabilities: smp vsyscall32 *-core description: Motherboard physical id: 0 *-memory description: System memory physical id: 0 size: 4GiB *-cpu product: Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz vendor: Intel Corp. physical id: 1 bus info: cpu@0 width: 64 bits
Флаг -short позволит сделает выдачу не такой развёрнутой:
# Output H/W path Device Class Description ======================================== system Computer /0 bus Motherboard /0/0 memory 4GiB System memory /0/1 processor Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz
Получить сведения об установленном процессоре или о подключённых к машине дисковых накопителях (жёсткие диски, флэшки и т.д.) помогут вариации этой команды: lscpu и lsblk .
# Диспетчер задач
Для мониторинга процессов, выполняемых сервером, удобно использовать простой и наглядный диспетчер задач htop:
После установки диспетчер запускается командой:
Команда запускает сам диспетчер, выводящий в консоль список всех исполняемых процессов в данный момент:
В столбцах приведена следующая информация:
- PID — идентификатор процесса.
- USER — пользователь, запустивший процесс.
- PRI — приоритет при выполнении процесса. По умолчанию для всех процессов установлено значение 20. Чем меньше цифра, тем выше приоритет процесса и тем больше системных ресурсов он может задействовать.
- NI — величина, понижающая или увеличивающая значение приоритета. Изменением этой величины (клавиши F7 и F8 ) можно понижать и повышать приоритет выполнения указанных процессов.
- VIRT — объём виртуальной памяти, выделенной системой этому процессу. Здесь указывается не используемый объём памяти, а именно выделенный.
- RES — объём непосредственно используемой процессом памяти.
- SHR — объём памяти, которую могут использовать другие приложения.
- S — столбец, описывающий состояние процесса (S — спящий процесс, R — процесс выполняется, D — процесс ожидает выполнения).
- CPU% — использование процессорных мощностей в процентном соотношении.
- MEM% — процент использования процессом общей системной памяти.
- TIME+ — аптайм процесса.
- Command — команда, которой был запущен процесс.
В нижней части экрана расположены подсказки, которые помогут с навигацией по меню диспетчера задач. Они позволят настроить приоритет или полностью остановить выполнение процесса, настроить фильтр для поиска нужных процессов и попасть в окно общих настроек диспетчера.
# Диспетчер сетевых интерфейсов
Помимо наблюдения за использованием системных ресурсов полезным в работе с сервером бывает и мониторинг использования сетевых интерфейсов. Для этого отлично подойдёт простой, но функциональный инструмент iftop.
Инструмент выводит на экран всю информацию о загрузке сетевых интерфейсов вашей машины.
iftop позволяет мониторить работу отдельно взятого сетевого интерфейса:
sudo iftop -i interface_name
Анализирует трафик, приходящий на сетевой интерфейс из внутренней сети:
Сортирует трафик, приходящий из определённого источника:
Сортирует трафик, идущий к определённому адресу:
# Сетевые инструменты
Очень полезным в повседневной работе с сервером будет набор инструментов для работы с сетью net-tools. Он включает в себя такие популярные инструменты, как ifconfig, netstat, route и другие. Как правило этот набор инструментов уже установлен на сервере. Если какой-то из команд, входящих в его состав, нет, то его легко установить стандартной командой:
sudo apt install net-tools
После завершения установки можно использовать любые из входящих в набор инструментов.
# netstat
Для работы с портами на сервере используется команда netstat с различной комбинацией флагов. Например, можно вывести список всех открытых портов на сервере:
Вы можете также выбрать только прослушиваемые порты:
Если добавить к команде netstat флаг -p , то при выводе выбранных параметров в консоль будет добавлена информация о том, какое именно приложение с каким PID использует данный порт.
Флаги команды можно комбинировать, чтобы вывести на экран определённую комбинацию значений. Например, полезной бывает комбинация флагов -tulpn , которая выводит на экран все прослушиваемые порты на сервере с указанием конкретных процессов, занимающих порт.
# ifconfig
Команда ifconfig работает с сетевыми интерфейсами. Введите её в консоли, чтобы она вывела на экран основную информацию о работающих на сервере сетевых интерфейсах:
sudo ifconfig # Output lo: flags=73UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10host> loop txqueuelen 1000 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 venet0: flags=211UP,BROADCAST,POINTOPOINT,RUNNING,NOARP> mtu 1500 inet 127.0.0.1 netmask 255.255.255.255 broadcast 0.0.0.0 destination 127.0.0.1 inet6 2001:1bb0:e000:1e::522 prefixlen 64 scopeid 0x0global> unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 0 (UNSPEC) RX packets 6225 bytes 1302040 (1.2 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 7250 bytes 1044773 (1020.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 venet0:0: flags=211UP,BROADCAST,POINTOPOINT,RUNNING,NOARP> mtu 1500 inet 10.100.16.199 netmask 255.255.0.0 broadcast 10.100.255.255 destination 10.100.16.199 unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 0 (UNSPEC)
Если добавить после команды имя конкретного сетевого интерфейса, то на экран будет выведена информация только о нём. Чтобы минимизировать выдачу, можно использовать флаг -s .
Команды up и down после имени интерфейса позволяют включить или отключить его:
sudo ifconfig eth0 up sudo ifconfig eth0 down
Сетевому интерфейсу можно назначить IP-адрес, просто добавив его после имени интерфейса:
sudo ifconfig eth0 192.168.0.1
# route
В общем случае для полноценной настройки сети на сервере помимо команды ifconfig понадобится настройка маршрутизации, которая осуществляется при помощи команды route , также входящей в состав пакета net-tools.
Общий синтаксис команды route выглядит следующим образом:
route add [-net|-host] IP/Net> netmask gw Gateway IP> dev Int>X
Здесь параметры -net и -host описывают сеть или отдельный хост, netmask определяет подсеть, а dev — сетевой интерфейс.
Кроме команды add в route используется del для удаления определённого маршрута.
Подробнее о настройке сетевых соединений при помощи встроенных утилит мы расскажем в отдельном материале.
© Джино, 2003–2022. «Джино» является зарегистрированным товарным знаком.
Лицензия на телематические услуги связи №150549 от 09.03.2017.