Основні дистрибутиви Linux використовують Systemd, систему ініціалізації, яка працює на основі ввімкнення та вимкнення «службових» файлів. Якщо ви намагаєтеся перерахувати ці службові файли, але не знаєте, як це зробити, вам потрібно буде скористатися командою systemctl.
У цьому посібнику ми розглянемо різні способи переліку службових файлів Systemd у Linux. Щоб розпочати, переконайтеся, що ви використовуєте ОС Linux із Systemd. Потім відкрийте вікно терміналу та дотримуйтесь.
Використовуйте Systemd для переліку активних служб
Якщо ви часто використовуєте Systemd, у певний момент ви можете знати, які служби активні під час завантаження вашої системи Linux. Перелік активних служб дуже простий, і ви можете зробити це за допомогою команди systemctl –type=service systemctl –type=service –state=running.
Ця команда під час запуску покаже таблицю всіх служб, якщо вони активні, а також короткий опис. Щоб запустити цю програму, відкрийте вікно терміналу. Коли вікно терміналу відкриється, виконайте наведену нижче команду.
systemctl --type=service --state=running
Якщо ви намагаєтеся відфільтрувати всі активні служби для певної служби, перегляд цієї великої таблиці може бути досить втомливим. На щастя, команду systemctl можна поєднати з командою grep як механізм фільтрації.
Наприклад, щоб перевірити, чи запущено та завантажено «snapd.service», ви можете запустити systemctl –type=service –state=running | grep ‘snapd’, а у виводі буде показано лише службу Snapd, а не всю таблицю.
systemctl --type=service --state=running | grep 'snapd'
Якщо ви хочете зберегти результат таблиці в текстовий файл для подальшого використання, скористайтеся такою командою.
systemctl --type=service --state=runningrunning > ~/active-services.txt
Щоб переглянути текстовий файл у будь-який час, виконайте наведену нижче команду cat.
cat ~/active-services.txt
Використовуйте Systemd для переліку неактивних служб
Перелік активних служб Systemd корисний, але як щодо неактивних? Так, їх теж можна перерахувати. Ось як. Спочатку відкрийте вікно терміналу.
Коли вікно терміналу відкриється і готове до використання, виконайте команду systemctl –type=service, але в слоті –state= помістіть «неактивний», а не «запущений». Зробивши це, ви можете побачити, які служби Systemd неактивні у вашій системі Linux.
systemctl --type=service --state=inactive
Як і з активними службами, Systemd створить гарну, акуратну таблицю і покаже вам, які служби Systemd неактивні, мертві та не використовуються. Якщо ви хочете відфільтрувати цю таблицю, щоб дізнатися, чи не працює певна служба, ви можете об’єднати її з командою grep.
Наприклад, щоб визначити, чи є файл «updatedb.service» неактивним, ви можете об’єднати systemctl –type=service –state=inactive з командою grep нижче, щоб знайти його в таблиці.
systemctl --type=service --state=inactive | grep 'updatedb.service'
Якщо вам потрібно зберегти всі неактивні файли служби Systemd у текстовий файл для читання пізніше, скористайтеся такою командою.
systemctl --type=service --state=inactive > ~/inactive-services.txt
Щоб прочитати цей текстовий файл прямо з вікна терміналу, скористайтеся командою cat.
cat ~/inactive-services.txt
Використовуйте Systemd, щоб переглянути всі встановлені служби
Якщо вам потрібно побачити всі встановлені служби Systemd, незалежно від того, активні вони чи ні, вам потрібно буде використати команду systemctl list-unit-files –type=service та виключити перемикач командного рядка –state. Виключивши –state, Systemd зможе легко перерахувати кожен файл служби на вашому комп’ютері.
systemctl list-unit-files --type=service
Після виконання вищевказаної команди Systemd роздрукує таблицю з кожним службовим файлом у системі. Звідси ви можете відсортувати таблицю, щоб знайти потрібний сервісний файл.
Якщо ви не можете знайти певний службовий файл, ви можете об’єднати команду systemctl list-unit-files –type=service з командою grep, щоб використовувати фільтр. Використовуючи наведену нижче команду, відфільтруйте таблицю, щоб знайти потрібний сервісний файл.
systemctl list-unit-files --type=service | grep 'my-service'
Бажаєте експортувати всі служби Systemd у текстовий файл для читання пізніше? Виконайте таку команду.
systemctl list-unit-files --type=service > ~/service-files.txt
Ви можете будь-коли переглянути текстовий файл за допомогою наведеної нижче команди cat.
cat ~/service-files.txt
Використовуйте Systemd для відображення статусу окремої служби
Хоча корисно знати, як перерахувати всі служби Systemd, активні та неактивні, також корисно знати, як перерахувати статус служб окремо. Ось як це зробити.
Спочатку відкрийте вікно терміналу. Відкривши вікно терміналу, скористайтеся командою systemctl status для певної служби. Наприклад, щоб знайти статус «NetworkManager.service», запустіть таку команду.
systemctl status NetworkManager
Якщо ви хочете експортувати результат команди status у текстовий файл для подальшого читання, ви можете ввести команду нижче.
systemctl status MyService > ~/MyService-status.txt
Щоб переглянути цей файл, виконайте таку команду cat.
cat ~/MyService-status.txt