Linux systemctl

systemctl is a command-line utility in Linux systems that is used to control and manage the systemd system and service manager. Systemd is a system initialization and management daemon that provides a range of features for controlling the startup, management, and monitoring of processes and services on a Linux system.

Here are some key functionalities and practical examples of using the systemctl command:

  1. Managing System Services:
    • Start a service:
systemctl start service_name

Stop a service:

systemctl stop service_name

Restart a service:

systemctl restart service_name

Enable a service to start automatically on boot:

systemctl enable service_name

Disable a service from starting automatically on boot:

systemctl disable service_name

Check the status of a service:

systemctl status service_name

2. Managing the System:

  • Reboot the system:
systemctl reboot

Shut down the system:

systemctl poweroff

Hibernate the system:

systemctl hibernate

Suspend the system:

systemctl suspend

3. Working with System Targets: System targets are groups of services and other units that define the system state. Common targets include graphical.target for the graphical desktop environment and multi-user.target for the command-line interface.

  • Change the system target:
systemctl isolate target_name

4. Analyzing Logs:

  • View the system log messages:
systemctl status

View the journal logs:

journalctl

5. Managing System Timers: Systemd provides a timer functionality that allows you to schedule and manage periodic tasks.

  • Start a timer:
systemctl start timer_name

Stop a timer:

systemctl stop timer_name

Check the status of a timer:

systemctl status timer_name

These are just a few examples of the systemctl command’s functionalities. It provides a comprehensive interface for managing system services, targets, timers, and more. You can explore further options and features by referring to the systemctl manual page using the command man systemctl.