How to List Services in Linux Using the systemctl Command

How to List Services in Linux Using the systemctl Command

When it comes to managing services in Linux, the systemctl command is an indispensable tool. Whether you’re checking the status of essential services or fine-tuning your system’s configuration, knowing how to list services is a fundamental skill for any Linux administrator. In this guide, we’ll walk you through the process of using the systemctl command to conveniently list and inspect services running on your Linux system.

What Are Services in Linux

Services in Linux are background processes or daemons that provide specific functionality to the operating system and applications. Here are five key points to understand what services are in Linux:

  1. Background Processes. Services are programs that run in the background and perform specific tasks without the need for user interaction. They start automatically when the system boots and continue running until the system is shut down.
  2. Varied Functions. Linux services can perform a wide range of functions, such as managing network connectivity, handling file sharing, providing web services, managing hardware components, and more. They contribute to the overall functionality and capabilities of the operating system.
  3. Service Management. Linux provides tools and utilities for managing services. In modern Linux distributions, the systemctl command is commonly used to control services. With it, you can start, stop, enable, disable, and check the status of services.
  4. Configuration Files. Each service typically has its configuration files, often located in directories like /etc or /etc/systemd. These configuration files allow administrators to customize the behavior of the service, specify its startup options, and define its dependencies.
  5. Security and Monitoring. Proper management of services is crucial for system security. Unneeded or unused services should be disabled to reduce the system’s attack surface. Additionally, services often generate log files in directories like /var/log, which are essential for monitoring and troubleshooting.

Services play a vital role in the Linux operating system, serving as the backbone that ensures the smooth execution of various system tasks and applications. Proficiency in managing and configuring services is crucial for Linux system administrators and users alike. In the following section, we’ll explore the process of listing all services in Linux.

How to List Services in Linux

To list services in Linux, you can use the systemctl command. Here’s how you can do it:

#1 Open a Terminal

Launch a terminal window on your Linux system. You can typically find the terminal application in your applications menu or use a keyboard shortcut like Ctrl + Alt + T to open it.

#2 List All Services

To list all services, whether they are currently running or not, use the following command:

systemctl list-unit-files --type=service

This command will provide a comprehensive list of services along with their current status (enabled or disabled).

Sample Output:

Snapshot of using systemctl list-unit--files --type=service command in terminal.

#3 List Running Services

If you want to see only the services that are currently running, you can use:

systemctl list-units --type=service --state=running

Sample Output:

Snapshot of systemctl list-units --type=service --state=running command in the terminal.

This command will display a list of actively running services.

#4 Check the Status of a Specific Service

To check the status of a specific service (replace service-name with the actual service name), use:

systemctl status service-name

This command will display detailed information about the selected service, including its status, whether it’s running or not, and recent log entries.

#5 List Failed Services

To list services that have failed, use:

systemctl --failed

This command will display a list of services that are in a failed state.

Sample Output:

Snapshot of systemctl --failed comamand in Linux terminal.

You can use standard Linux text-processing tools like grep to filter and search for specific services. For example, to search for a service containing the word “network,” you can use:

systemctl list-unit-files --type=service | grep network

This command will display services related to networking.

That’s it! Congratulations, you can now list services in Linux using the systemctl command. These commands are valuable for listing and managing services on your Linux system. You can utilize these lists to verify service statuses, troubleshoot problems, and tailor their behavior as necessary.


Looking to deploy Linux in the cloud? With Gcore Cloud, you can choose from Basic VM, Virtual Instances, or VPS/VDS suitable for Linux:

Choose an instance

Subscribe to our newsletter

Stay informed about the latest updates, news, and insights.