Як використовувати Systemd для переліку служб

Більшість сучасних дистрибутивів Linux використовують Systemd як свою систему ініціалізації. Ця система керує процесами запуску та вимикання служб через спеціальні файли конфігурації. Щоб ефективно працювати з Systemd, важливо вміти переглядати список цих службових файлів. Команда `systemctl` є основним інструментом для цього.

У цьому матеріалі ми розглянемо різні способи, як переглядати перелік служб Systemd у Linux. Переконайтеся, що ваша система використовує Systemd, та відкрийте термінал для виконання наведених нижче команд.

Перелік активних служб

Користувачі Systemd часто цікавляться, які служби активні в певний момент часу. Щоб отримати список активних служб, можна скористатися командою `systemctl` з відповідними параметрами.

Команда `systemctl –type=service –state=running` покаже таблицю, яка містить перелік усіх активних служб разом з їх коротким описом. Для запуску цієї команди, відкрийте термінал та виконайте її:

systemctl --type=service --state=running

Коли список великий, може бути складно знайти потрібну службу. Для фільтрації результатів можна використовувати команду `grep`. Наприклад, щоб перевірити, чи запущено службу `snapd.service`, використовуйте:

systemctl --type=service --state=running | grep 'snapd'

Для збереження виводу у текстовий файл, використовуйте:

systemctl --type=service --state=running > ~/active-services.txt

Переглянути збережений файл можна командою `cat`:

cat ~/active-services.txt

Перелік неактивних служб

Крім активних, може бути корисно переглянути список неактивних служб. Для цього використовується схожий підхід, але з іншим значенням параметра `state`.

Відкрийте термінал та виконайте команду `systemctl –type=service –state=inactive`. Це покаже таблицю неактивних служб:

systemctl --type=service --state=inactive

Для фільтрації виводу, можна знову використовувати `grep`. Наприклад, щоб перевірити, чи неактивна служба `updatedb.service`, виконайте:

systemctl --type=service --state=inactive | grep 'updatedb.service'

Для збереження списку неактивних служб у файл, використовуйте:

systemctl --type=service --state=inactive > ~/inactive-services.txt

Переглянути файл можна командою `cat`:

cat  ~/inactive-services.txt

Перегляд усіх встановлених служб

Іноді необхідно переглянути повний список встановлених служб, незалежно від їхнього поточного статусу. Для цього використовується команда `systemctl list-unit-files` без параметра `–state`:

systemctl list-unit-files --type=service

Для фільтрації виводу, наприклад, для пошуку служби `my-service`, використовуйте `grep`:

systemctl list-unit-files --type=service | grep 'my-service'

Зберегти список усіх служб у файл можна так:

systemctl list-unit-files --type=service > ~/service-files.txt

Переглянути цей файл можна за допомогою `cat`:

cat ~/service-files.txt

Перегляд статусу окремої служби

Крім переліку всіх служб, важливо вміти перевіряти статус конкретної служби. Для цього використовується команда `systemctl status`. Наприклад, щоб отримати статус служби `NetworkManager.service`, виконайте:

systemctl status NetworkManager

Для збереження статусу в файл, наприклад, для служби `MyService`, використовуйте:

systemctl status MyService > ~/MyService-status.txt

Переглянути збережений файл можна за допомогою команди `cat`:

cat ~/MyService-status.txt